要修改最近一次 Git 提交的信息(包括提交的消息和可能需要更改的文件内容),並且這些更改也應該反映在遠程倉庫上。
1. 修改最近一次提交的消息#
確定你當前位於想要修改提交信息的本地分支上。
使用 git commit --amend
命令來修改最近一次提交的消息。
運行該命令後,會打開一個編輯器(根據你的系統配置),允許修改提交消息。
修改完成後,保存並關閉編輯器即可。
如果你想要直接指定新的提交消息,而不是打開編輯器,可以使用 -m
參數。
git commit --amend -m "新的消息"
2. 推送到遠程倉庫#
因為你已經修改了提交歷史,直接向遠程倉庫 push 會出現衝突。
此時,我們需要使用 --force
或 --force-with-lease
參數來強制推送,以覆蓋遠程倉庫的相應提交。
使用 --force
(不推薦)
git push --force origin <遠程分支>
使用
--force
會強制更新遠程分支,使其與你本地分支狀態完全一致。
如果此時有他人在此期間有其他的提交到遠程分支,它們將被你的這次推送覆蓋。
因此,應該謹慎使用--force
使用 --force-with-lease
(推薦)
git push --force-with-lease origin <遠程分支>
--force-with-lease
提供了一種更安全的強制推送方式。
它會在推送前檢查遠程分支的狀態是否與你的預期一致。
如果遠程分支在你上次拉取後有其他人的新提交,推送將會失敗,從而避免意外覆蓋別人的工作。
在多人協同開發中,使用--force-with-lease
是一個更好的選擇。