Git修改前一次提交的方法(特别注意保持Change

您所在的位置:网站首页 git合并多次提交会怎么样 Git修改前一次提交的方法(特别注意保持Change

Git修改前一次提交的方法(特别注意保持Change

#Git修改前一次提交的方法(特别注意保持Change| 来源: 网络整理| 查看: 265

    基本概念

如果发现上一次提交的内容存在问题,就需要修改了。

基本概念 Change: Gerrit中的一个Change就是一个Review任务,它对应一个commit。 每个commit,应该是为了一个目的的完整修改。如果某一次修改不完全,就需要修正该commit。 每一次修正之前的commit,重新提交时,都应该保持Change-Id不变,这样就不会产生新的Change,而是在原有的Change下产生一个新的Patch Set。 所有的Patch Set中,只有最新的一个是真正有用的,能够合并的。

图1:Change和Change-Id

图2:Patch Set

修改前一次提交的方法

方法一:用  --amend 选项

[plain]  view plain copy print ? #修改需要修改的地方。   git add .   git commit –amend   注:这种方式可以比较方便的 保持原有的Change-Id,推荐使用。

方法二:先reset,再修改 这是可以完全控制上一次提交内容的方法。但在与Gerrit配合使用时,需特别注意保持同一个commit的多次提交的Change-Id是不变的。 否则,就需要Abondon之前的Change,产生一些垃圾不说,操作得不对,会使得简单的事情复杂化,甚至无法合并。

[plain]  view plain copy print ? git reset HEAD^   #重新修改   git add .   git commit -m “MSG”   特别注意:为了保持提交到Gerrit的Change不变,需要复制对应的Change-Id到commit msg的最后,可以到Gerrit上对应的Change去复制,参见图1。

方法三:只是修改作者

如果email不对,会无法提交到Gerrit,所以这个命令也可能用到。

[html]  view plain copy print ? git commit –amend –author=   注:如果该email地址从未有过成功的提交,这个修改会不成功。在别的分支做一次成功提交之后,就可以修改了。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3