Git 合并冲突后按相同的更改id
我正在使用Git 合并冲突后按相同的更改id,git,gerrit,Git,Gerrit,我正在使用git和gerrit进行代码审查。在使用唯一的更改id推送更改后,gerrit仪表板上出现合并冲突问题。所以我再次提取代码,解决了合并冲突,然后决定在相同的变更id下修改变更 但是git不允许这样做修改。您必须进行单独的提交 有没有办法将我更新的代码推到同一更改id下 然后决定修改相同变更id下的变更 当您在Git中修改提交时,可以通过Gerritt或其他工具,通过Git提交--amend修改,创建一个新的提交。旧的提交已被重写,不再是分支的一部分 因此,即使您在解决合并冲突后修改了上
git
和gerrit
进行代码审查。在使用唯一的更改id
推送更改后,gerrit
仪表板上出现合并冲突问题。所以我再次提取代码,解决了合并冲突,然后决定在相同的变更id下修改变更
但是git
不允许这样做<如果存在合并冲突
,则无法执行代码>修改。您必须进行单独的提交
有没有办法将我更新的代码推到同一更改id
下
然后决定修改相同变更id下的变更
当您在Git中修改提交时,可以通过Gerritt或其他工具,通过Git提交--amend修改,创建一个新的提交。旧的提交已被重写,不再是分支的一部分
因此,即使您在解决合并冲突后修改了上一次提交,仍会出现新的提交。否。当您尝试修改提交时,通过替换上一次提交,会使用新哈希记录新的提交。如果您想将它们组合在一起并使其成为一个提交,您可以使用挤压,或者您可以使用软重置2提交,并冒与远程冲突的风险从这2个提交中创建一个新的提交。我认为您混淆了“更改Id”(Gerrit)和“提交Id”(Git)。当您解决冲突并修改原始提交时,会生成一个新的提交,其中(当然)包含一个新的提交Id。您可以(实际上,您需要)在提交消息的最后一行保留相同的更改Id,例如: 更改Id:Id65100bb3841c73bb9dd2d2d6a69c77a5936681a 当您将此提交推送到Gerrit时,它将使用此行来了解此提交是对原始提交的修改,并将其作为新补丁集添加到原始更改中
查看更多信息。我知道提交id和更改id是不同的,只是我习惯了bitbucket和github,但是gerrit是我当前使用的环境所必需的,所以一直修改有点紧张:)。谢谢你的链接,它帮助了很多。我知道“张力”Gerrit的工作原理有点不同,但一旦你习惯了它,你就会感到非常舒服。使用Gerrit UI中显示的
更改Id
是解决这个问题的关键-谢谢!