Git - 修改提交



git commit --amend 命令是 Git 中一個強大的功能,用於修改最近一次提交。它允許開發人員更新提交資訊、新增或刪除更改以及修復錯誤,而無需建立新的提交。此命令實際上用一個新的提交替換了最後一次提交,並將自該提交以來所做的任何更改都合併到其中。雖然很有用,但它需要謹慎使用,因為它會更改提交歷史。

歷史重寫方法概述

Git 提供多種重寫歷史的方法,例如

  • git commit --amend

  • git rebase

  • git reflog

每個選項都提供不同程度的靈活性和控制來處理提交歷史。

修復提交資訊中的錯誤

如果您發現上次提交資訊包含錯別字或不清楚,您可以使用git commit --amend來更改資訊

git commit --amend

執行此命令會開啟預設文字編輯器,允許您編輯提交資訊。儲存並關閉編輯器後,修改後的提交資訊將替換原始資訊。

將錯過的更改新增到上次提交

有時,您可能會忘記在提交前暫存某些更改。與其為錯過的更改建立新的提交,不如暫存它們並修改上次提交

git add <file>
git commit --amend

修改後的提交將包含新新增的更改,有效地將它們與之前的提交合並。

從上次提交中刪除更改

如果上次提交錯誤地包含了檔案或更改,您可以取消暫存或編輯這些更改,然後使用git commit --amend更新提交

git reset HEAD^ <file>
git commit --amend

這將從提交中刪除指定的檔案,同時保持其他更改不變。

更改上次提交的作者

要更改作者資訊,請將--author標誌與git commit --amend一起使用

git commit --amend --author="New Author <new.author@example.com&lgt;"

何時使用 git commit --amend

git commit --amend 命令非常適合

  • 更正不清楚或包含錯誤的提交資訊。

  • 將錯過的更改新增到上次提交,以將相關更改儲存在一個提交中。

  • 在推送到遠端倉庫之前,從提交中刪除意外的檔案。

  • 當提交使用錯誤的詳細資訊進行時更改作者資訊。

何時不使用 git commit --amend

如果以下情況,請避免使用git commit --amend

  • 該提交已推送到共享倉庫,並且其他協作者正在處理它。

  • 更改不是次要的,並且提交歷史應反映開發過程的每個步驟。

瞭解何時以及如何有效地使用git commit --amend可以顯著改善您的版本控制實踐。

廣告