如何修改Git提交记录

如何修改Git提交记录

因为错误,补充或说明格式等问题,有时需要修改已执行的Git提交记录。这个操作并不常用,很多人并不清楚如何操作,所以特意写了本博客进行详细说明。

开始前先学一个英文单词:

amend /əˈmend/
vt. 修改;改善,改进;
vi. 改正,改善;改过自新
The seller will request to amend the letter of credit. 卖方要求修改信用证。

修改最后一次Git提交

如果是修改最后一次提交,操作比较简单,直接使用 git commit --amend 命令即可。
如何修改Git提交记录_第1张图片
如何修改Git提交记录_第2张图片
如何修改Git提交记录_第3张图片
使用TortoiseGit的话,在commit对话框勾选Amend Last Commit选项即可。
如何修改Git提交记录_第4张图片

修改任意历史提交

修改非最后一次提交记录会稍微麻烦些,需要先进行变基操作

  1. 发送命令 git log 查看当前提交记录。
    如何修改Git提交记录_第5张图片
  2. 发送命令 git rebase -i HEAD~2 ,它会打开一个编辑器,它会把最后2次的提交显示出来。这里的提交日志是和git log倒叙排列的,最后一次提交记录在最下方。
    如何修改Git提交记录_第6张图片
    对于需要修改的提交,将其行首的命令字段"pick"修改为"edit"或"e",然后保存退出。
    如何修改Git提交记录_第7张图片
    此时看到命令行输出由master变为了master|REBASE-i 1/2,表示当前处于变基状态,1/2表示有2条提交可修改,当前是第一条。此时使用git commit --amend命令可以修改当前提交内容,使用git rebase --continue命令则是跳过当前记录。
    如何修改Git提交记录_第8张图片
    如何修改Git提交记录_第9张图片
    修改完所有提交后,Git恢复到正常状态。
    如何修改Git提交记录_第10张图片
    再次查看提交记录,发现以往的提交信息已经被修改了。
    如何修改Git提交记录_第11张图片

更新服务端的提交记录

如果之前的提交已近同步到服务端,那就先在本地按上面的方法修改历史提交记录,然后PUSH到服务端,需要重点提醒一下的就是:这种情况下的推送命令要增加--force参数。

git push origin master --force

你可能感兴趣的:(开发工具,git,修改提交记录,amend,rebase)