當你剛開始使用 Git 時,它可能會令人畏懼。大多數開發人員堅持使用git add
、 git commit
和git push
,大多數情況下,這就足夠了——直到你遇到一個你不知道如何解決的問題。
這時,這 10 個 Git 指令可以為您節省時間和精力。
git reflog
– 恢復遺失的提交有時,您會意外刪除分支或重設為錯誤的提交。 git reflog
讓您回到過去並恢復遺失的工作。
其作用:追蹤儲存庫中所做的每個更改,甚至包括那些您認為已經消失的更改。
何時使用:
您不小心刪除了一個分支。
您需要在錯誤重置後恢復提交。
命令:
git reflog
git cherry-pick
– 應用特定提交您需要來自另一個分支的提交,但不想合併所有內容。 git cherry-pick
僅帶來您需要的提交。
功能:讓你將特定的提交從一個分支應用到另一個分支。
何時使用:
命令:
git cherry-pick <commit-hash>
git bisect
– 找到有問題的提交當發生錯誤但您不知道哪個提交引入了該錯誤時, git bisect
可以幫助您有效地追蹤它。
其作用:使用二進制搜尋來辨識導致問題的提交。
何時使用:
命令:
git bisect start
git bisect bad # Mark the current commit as bad
git bisect good <commit-hash> # Mark a known good commit
Git 將引導您完成提交,直到您找到問題。
git stash pop
– 切換任務而不失去工作您正在編寫程式碼,突然需要切換分支。 git stash pop
可以讓你做到這一點而不會失去進度。
功能:儲存未提交的更改,以便您稍後可以套用它們。
為什麼pop
而不是stash
?它會套用已儲存的變更並自動將其從儲存清單中刪除。
命令:
git stash pop
git reset --soft
– 撤銷提交且不遺失更改你提交得太早了,現在需要修改提交。 git reset --soft
將提交移回暫存區。
功能:允許您編輯提交而不遺失變更。
何時使用:
命令:
git reset --soft HEAD~1
git blame
– 追蹤檔案更改如果您想了解為什麼進行了某個更改, git blame
會顯示檔案中每一行的最後修改。
功能:顯示文件每一行的提交歷史記錄。
何時使用:
命令:
git blame <file>
git log --oneline --graph
– 更清晰的歷史記錄視圖具有多個分支的儲存庫可能會變得混亂。此命令提供了提交歷史記錄的簡化視覺概覽。
功能:以結構化、易於閱讀的格式顯示提交。
何時使用:
命令:
git log --oneline --graph --all
git clean -f
– 刪除未追蹤的文件如果您的工作目錄中堆滿了未追蹤的文件, git clean -f
可以幫助清理它。
其功能:從工作目錄中刪除未追蹤的檔案。
何時使用:
命令:
git clean -f
git rebase -i
– 編輯你的提交歷史當您需要在合併之前清理提交時, git rebase -i
可讓您壓縮、編輯或刪除提交。
功能:允許您以互動方式修改提交歷史記錄。
何時使用:
命令:
git rebase -i HEAD~<number-of-commits>
注意:避免在公共分支上使用此功能 - 它會重寫歷史記錄並可能導致衝突。
git diff --staged
– 檢討暫存的變更在提交之前,您可能需要仔細檢查要推送的內容。 git diff --staged
顯示的正是這一點。
功能:顯示暫存區和上次提交之間的變化。
何時使用:
命令:
git diff --staged
希望有幫助!
您是否有此列表中未列出的常用 Git 命令?讓我們在評論中討論吧!
原文出處:https://dev.to/balrajola/10-git-commands-youll-wish-you-knew-earlier-2efg