阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

Git 在您剛開始使用時可能會感到令人生畏。我們大多數人只會使用基本指令:git addgit commitgit push,老實說,這樣做是有效的……直到不再有效。在某個時候,您會遇到阻礙——一個纏結的歷史、一個損壞的分支,或者一個您無法追尋的錯誤。

這時,這 10 個 Git 指令將成為救星。

1. git reflog
曾經犯過一個如此糟糕的錯誤,希望能回到過去嗎?git reflog 就是您不知道擁有的時間機器。

它的功能:
它會記錄您在儲存庫中所做的每一件事情——甚至是您以為已經遺失的提交。

何時使用:

  • 您不小心刪除了分支。
  • 您需要在壞重置之後恢復提交。

指令:
git reflog

2. git cherry-pick
想像一下:在另一個分支上有一個完美的提交,而您現在需要它,但又不想合併整個分支。這就是 git cherry-pick 的用途。

它的功能:
它允許您從一個分支選取特定的提交並將其應用到另一個分支。

何時使用:

  • 您想在 main 中獲取來自 feature-branch 的錯誤修復,而不合併整個分支。

指令:
git cherry-pick <commit-hash>

3. git bisect
正在除錯突然出現的錯誤?與其手動檢查每個提交,不如讓 Git 為您進行偵探工作。

它的功能:
在您的提交歷史中進行二分搜尋,以找到導入錯誤的確切提交。

何時使用:

  • 當您有一個錯誤,但不確定是哪個提交造成的時候。

指令:
git bisect start git bisect bad # 將當前提交標記為壞的 git bisect good <commit-hash> # 將已知的好提交標記為好的

Git 將不斷縮小提交範圍,直到找出罪魁禍首。

4. git stash pop
您一定有過這種情況——正在編碼中途時來了一個重要的錯誤報告。您需要切換分支,但又不想失去您的工作。

它的功能:

  • 暫存您的未提交更改,以便稍後回來處理。

為什麼用 pop?
git stash 可以保存您的工作,但 git stash pop 可以恢復它並從暫存列表中刪除,保持整潔。

指令:
git stash pop

5. git reset --soft
曾經做了一個提交但意識到您還沒有準備好?也許您忘記把它與之前的提交合併?

它的功能:
將您的提交移回暫存區,但不會丟失更改。

何時使用:

  • 您想重新處理一個提交而不丟失進度。

指令:
git reset --soft HEAD~1

6. git blame
是的,這個名字聽起來有點指責,但它並不是在指責別人(或者也許它是)。

它的功能:
顯示每一行在文件中的最後修改者。

何時使用:

  • 您想了解為什麼會進行特定的更改。

指令:
git blame <file>

7. git log --oneline --graph
查看一個具有多個分支的儲存庫可能會感到不知所措。這條指令為您的專案提供了一個鳥瞰圖。

它的功能:
以簡單且視覺化的方式顯示您的提交歷史。

何時使用:

  • 理解某個分支的歷史或分支如何發散和合併。

指令:
git log --oneline --graph --all

8. git clean -f
有時候,您的工作目錄會變得雜亂不堪——未追蹤的文件到處攏積。git clean 就像是為您的儲存庫進行一次春季大掃除。

它的功能:
從工作目錄中移除未追蹤的文件。

何時使用:

  • 您嘗試執行 git pull,但由於未追蹤文件衝突而失敗。

指令:
git clean -f

9. git rebase -i
互動式 rebase 是整理混亂的提交歷史的魔法棒。

它的功能:
讓您在 rebase 中壓縮、編輯或刪除提交。

何時使用:

  • 在合併之前,使您的提交歷史看起來乾淨專業。

指令:
git rebase -i HEAD~<number-of-commits>

專業提示:在公共分支上謹慎使用,以避免衝突。

10. git diff --staged
在提交之前,能夠準確地查看已暫存的內容不是很好嗎?這就是 git diff --staged 的作用。

它的功能:
顯示您的暫存區與上一提交之間的變更。

何時使用:

  • 在提交之前檢查已暫存的變更。

指令:
git diff --staged

這些指令中,哪一個對您來說是新的呢?或者您是否有一個未被列出的少被人知道的最愛?讓我們在評論中聽聽吧!


原文出處:https://dev.to/balrajola/10-git-commands-youll-wish-you-knew-earlier-eha


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈