最近的需求遇到个要修改git前几天提交的注释信息,多步的悔棋操作在网上没看的合适的,来吧自己总结吧!
分两种情况:
1.已经将代码push到远程仓库
2.还没将代码push到远程仓库,还在本地的仓库中
已经将代码push到远程仓库
一、修改最近一次的注释(就是最新的一次提交) : 这个好操作
$ git commit --amend
修改完了,查看git status ,根据命令提示去操作去:git pull (拉取合并到本地),再去git push。这里就不截图啦
二、修改前几次的commit 注释:如下图-修改红色框的那次commit的注释文字
修改的步骤如下:
1.确定本地库是最新的代码,确定是后退几步: HEAD~4 是往后倒数4行!
最后的数字4指的是显示到倒数第几次 比如这个输入的4就会显示倒数的第四次注释(从最上面数第四行)
// 输入命令
$ git rebase -i HEAD~4
0、输入命令:回车进入下面的编辑页
1、进入编辑界面:你想修改哪条注释,就把哪条注释前面的pick换成edit。
方法就是上面说的编辑方式:i---编辑,把pick换成edit---Esc---:wq 回车保存退出(编辑界面)
2. 退出上面的编辑界面,回到下面的界面(多关注git 的提示命令):去运行 git commit --amend 回车,再进入编辑界面: 去修改edit选择的那个注释
2-1、进入编辑界面: 修改edit选择的那个注释。i 编辑---Esc---:wq 回车保存并退出
2-2、退出上面的编辑界面,回到下面的界面:用git status 查看状态(多关注git 的提示命令)
2-3、修改满意(就是修改完了)去执行:git rebase --continue 回车完成:
2.4、注意:main | rebase 1/4 变成 main
2.5 再次查看git status
3 根据提示:输入git pull 去合并远程分支到本地
4. 再次查看git status ,根据命令提示去git push!
4-1、其实此时用git log 查看历史记录,可以看到已经修改成啦!
5、提交本地到远程库git push!
最终效果: 如下图-
原理理解:其实我的理解就是先版本回退到你想修改的某次版本,然后修改当前的commit注释,然后再回到本地最新的版本,下图已经很好的验证了我的这个想法。
还没将代码push到远程仓库,还在本地的仓库中
待续。。。