Git是一種流行的版本控制工具,但是即使是經驗豐富的開發人員也有可能意外地提交了錯誤的程式碼或個人資訊。在這種情況下,撤銷提交是至關重要的,以便在不破壞程式碼庫歷史記錄的情況下修復問題。
以下是如何撤銷git提交的步驟。
如果您已提交了錯誤的程式碼或個人信息,而且您還沒有將這個錯誤推送到遠端倉庫,那麼最簡單的方法就是撤銷這個提交。
要撤銷提交,請先使用以下命令查看您的提交記錄:
git log
這將顯示您近期的所有提交。
請注意每個提交的雜湊值,這將有助於後續步驟。
要撤銷最近的提交,您可以執行以下命令:
git reset HEAD~1
這將取消最近的提交,但會保留您對該提交所做的更改。
上圖中,HEAD~1表示"撤銷最近的一次提交"。
要同時還原所有更改,可以使用以下命令:
git reset HEAD~1 –hard
這將撤銷最近的提交並還原所有更改。
如果您已經將錯誤的提交推送到遠端倉庫,那麼您需要使用下列步驟撤銷該提交。
要撤銷已推送到遠端倉庫的提交,請使用下列命令:
git revert <commit>
此命令會建立一個新的提交,該提交會將指定提交(
請注意,此命令是不可逆的,因為它將變更記錄為歷史記錄的一部分。因此,請小心使用此命令,並確保準確指定要取消的提交。
上圖顯示了使用git revert指令的結果。
如果您不想將撤銷的變更完全從程式碼庫中刪除,並希望保留該變更的歷史記錄,可以使用以下命令:
git revert -n <commit>
此命令將建立一個新的提交,以指示該變更已被取消。但是,它不會對檔案進行任何更改,因此您可以在指向要還原的提交之前對檔案進行修改。
git commit -c ORIG_HEAD
該指令會建立一個新的提交,該提交包含所有已撤銷的變更和所有其他變更。此新提交是您要保留的歷史記錄的一部分。
如果您不喜歡您的提交資訊或是您提交的資訊並不完整,可以使用以下命令修改提交資訊:
git commit --amend
這個指令會將您的提交資料放在一個編輯器中,以便您進行修改。
預設情況下,此命令使用您配置的文字編輯器。如果您想要變更預設編輯器,請透過下列方式設定環境變數:
export EDITOR="nano"
執行以上命令後,您將可以在nano編輯器中修改提交資訊。
當您完成對提交資訊的編輯時,請儲存並退出編輯器。這將更新最新提交的資訊。
在Git中撤銷提交是一個很有用的技巧,可以幫助您修復錯誤,同時不會破壞程式碼庫的歷史記錄。無論您是剛開始使用Git還是經驗豐富的開發人員,現在您應該知道如何輕鬆地撤銷提交。
以上是如何撤銷git的commit的詳細內容。更多資訊請關注PHP中文網其他相關文章!