阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!

當你剛開始使用 Git 時,它可能會令人畏懼。大多數開發人員堅持使用git addgit commitgit push ,大多數情況下,這就足夠了——直到你遇到一個你不知道如何解決的問題。

這時,這 10 個 Git 指令可以為您節省時間和精力。

1. git reflog – 恢復遺失的提交

有時,您會意外刪除分支或重設為錯誤的提交。 git reflog讓您回到過去並恢復遺失的工作。

其作用:追蹤儲存庫中所做的每個更改,甚至包括那些您認為已經消失的更改。

何時使用:

  • 您不小心刪除了一個分支。

  • 您需要在錯誤重置後恢復提交。

命令:

git reflog

2. git cherry-pick – 應用特定提交

您需要來自另一個分支的提交,但不想合併所有內容。 git cherry-pick僅帶來您需要的提交。

功能:讓你將特定的提交從一個分支應用到另一個分支。

何時使用:

  • 您需要從不同的分支修復錯誤,而無需合併不必要的更改。

命令:

git cherry-pick <commit-hash>

3. 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 將引導您完成提交,直到您找到問題。

4. git stash pop – 切換任務而不失去工作

您正在編寫程式碼,突然需要切換分支。 git stash pop可以讓你做到這一點而不會失去進度。

功能:儲存未提交的更改,以便您稍後可以套用它們。

為什麼pop而不是stash它會套用已儲存的變更並自動將其從儲存清單中刪除。

命令:

git stash pop

5. git reset --soft – 撤銷提交且不遺失更改

你提交得太早了,現在需要修改提交。 git reset --soft將提交移回暫存區。

功能:允許您編輯提交而不遺失變更。

何時使用:

  • 您需要在推送之前修改最後一次提交。

命令:

git reset --soft HEAD~1

6. git blame – 追蹤檔案更改

如果您想了解為什麼進行了某個更改, git blame會顯示檔案中每一行的最後修改。

功能:顯示文件每一行的提交歷史記錄。

何時使用:

  • 您想知道誰更改了特定的一行程式碼。

命令:

git blame <file>

7. git log --oneline --graph – 更清晰的歷史記錄視圖

具有多個分支的儲存庫可能會變得混亂。此命令提供了提交歷史記錄的簡化視覺概覽。

功能:以結構化、易於閱讀的格式顯示提交。

何時使用:

  • 您需要了解分支如何分歧和合併。

命令:

git log --oneline --graph --all

8. git clean -f – 刪除未追蹤的文件

如果您的工作目錄中堆滿了未追蹤的文件, git clean -f可以幫助清理它。

其功能:從工作目錄中刪除未追蹤的檔案。

何時使用:

  • 有未追蹤的文件幹擾了您的工作。

命令:

git clean -f

9. git rebase -i – 編輯你的提交歷史

當您需要在合併之前清理提交時, git rebase -i可讓您壓縮、編輯或刪除提交。

功能:允許您以互動方式修改提交歷史記錄。

何時使用:

  • 合併之前,讓你的提交歷史看起來結構清晰。

命令:

git rebase -i HEAD~<number-of-commits>

注意:避免在公共分支上使用此功能 - 它會重寫歷史記錄並可能導致衝突。

10. git diff --staged – 檢討暫存的變更

在提交之前,您可能需要仔細檢查要推送的內容。 git diff --staged顯示的正是這一點。

功能:顯示暫存區和上次提交之間的變化。

何時使用:

  • 您想在提交之前驗證暫存的變更。

命令:

git diff --staged

希望有幫助!

您是否有此列表中未列出的常用 Git 命令?讓我們在評論中討論吧!


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

按讚的人:

共有 0 則留言


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

阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!