修改之前的多条commit提交记录

来源:互联网 发布:通达信解禁日期提前知 编辑:程序博客网 时间:2024/06/16 17:58

由于前期没有配置好git,我们的代码要提交到gerrit上进行评审才能合并.而上传到gerrit的时候,git commit时的msg需要一定的格式,所以这样就存在要修改之前多次commit的记录,即修改每次commit时的msg信息,于是有了如下方法:

点击打开链接http://blog.csdn.net/tangkegagalikaiwu/article/details/8542827/

概括起来就是步骤:

1, git rebase -i HEAD~3    设置要进行修改的commit倒数3行,回车之后就进入了类似界面:

pick:*******

        pick:*******

        pick:*******

每一行pick代表了每一次commit记录,这个时候修改其中一个pick为e或edit,按ctrl+x退出,提示保存,输入y保存回车.

2, git commit --amend   回车打开需要修改了当前commit,进行修改后,安装1的保存方法保存退出.

3, git rebase --continue   回车执行修改的生效,如果第一步编辑了多个pick记录的话,接下来会提示你继续使用2命令,然后重复执行2,3,最后都修改完了的话,会提示成功.


以上就是修改commit信息的


另外一个就是在push到远程服务器的时候,因为要在gerrit上进行代码审核,所以会在commit的时候需要一个changed-id,由于最开始我没有把钩子hook保存在当前目录下,导致每次commit时都没有添加changed-id,所以,

1,首先去远程拷贝钩子在本地git目录下:

scp -p -P 29418 xxx@review.rnd.xxxx.com:hooks/commit-msg ${gitdir}/hooks/

hooks的路径一般是 /工程路径/.git/hooks/

这样拷贝下来了,以后每次提交commit都会自动插入changed-id.

但是之前的commit都没有id怎么办呢?很简单,重复上面修改commit的步骤,然后就能自动加入id了.

但是这样做的话,中间的一些别人的commit的id也会改变,导致提交的时候,可能会提交很多别人的修改了.

阅读全文
0 0