要修改最近一次 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
是一个更好的选择。