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
是解决这个问题的关键-谢谢!