如何更改Git提交消息
时间:2020-03-05 15:25:38 来源:igfitidea点击:
使用Git时,可能会遇到需要编辑提交消息的情况。
我们要进行更改的原因有很多,例如修正错字,删除敏感信息或者添加其他信息。
本教程说明了如何更改最新或者较旧的Git提交的消息。
更改最近的提交
'git commit --amend'命令允许我们更改最新的提交消息。
未推送提交
要更改尚未推送到远程存储库的最新提交的消息,请使用'--amend'标志再次提交。
- 导航到终端中的存储库目录。
- 运行以下命令以修改(更改)最新提交的消息:
git commit --amend -m "New commit message."
该命令的作用是用新提交覆盖新提交。-m选项使我们无需打开编辑器会话即可在命令行上写入新消息。
在更改提交消息之前,我们还可以添加以前忘记的其他更改:
git add .git commit --amend -m "New commit message."
推送提交
修改(更改)的提交是具有不同SHA-1的新实体。
先前的提交将不再存在于当前分支中。
通常,我们应该避免修改已经推送的提交,因为这可能会给基于此提交工作的人们带来麻烦。
在更改推送的提交之前,先咨询开发人员是一个好主意。
如果更改了最近推送的提交消息,则必须强制推送它。
- 导航到存储库。
- 修改最新的推送提交的消息:
git commit --amend -m "New commit message."
- 强制推送以更新远程存储库的历史记录:
git push --force branch-name
更改较早或者多次提交
如果我们需要更改较旧或者多次提交的消息,则可以使用交互式“ git rebase”来更改一个或者多个较旧的提交。
'rebase'命令重写提交历史记录,强烈建议不要对已经推送到远程Git存储库中的提交进行重新设置。
- 导航到包含要更改的提交消息的存储库。
- 输入'git rebase -i HEAD~N',其中'N'是基于其执行提交的提交数。例如,如果要更改第4次和第5次最新提交,请输入:
git rebase -i HEAD~5
该命令将在默认的文本编辑器中显示最新的“ X”提交:
pick 43f8707f9 fix: update dependency json5 to ^2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
- 移至我们要更改的提交消息的行,并将'pick'替换为'reword':
reword 43f8707f9 fix: update dependency json5 to ^2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
- 保存更改并关闭编辑器。
- 对于每个选定的提交,将打开一个新的文本编辑器窗口。更改提交消息,保存文件,然后关闭编辑器。
fix: update dependency json5 to ^2.1.1
- 强制将更改推送到远程存储库:
git push --force branch-name