38

如果我在 Gerrit 中的一项更改有多个补丁集版本,似乎我只能提交最新的补丁集版本(因为只有那个有必要的按钮)。有没有一种简单的方法可以只使用我在那个 Gerrit 实例上的 Web 浏览器来提交相同更改的旧补丁集版本之一?

我知道我可以从我的 git 客户端获取所需的补丁集版本并将其作为另一个新的补丁集版本推送到顶部,但我想避免在围绕它的审查和讨论中多次使用相同的补丁集版本.

4

2 回答 2

25

不,抱歉,这目前是不可能的。该设计假定最新的补丁集是开发人员将审查和测试的,因此不能提交较旧的补丁集。它们也不能被审查/验证。如果您想使用旧版本的补丁集,您必须重新提交它以使其成为最新的补丁集。为了避免没有新的更改错误git commit --amend,git 将创建一个新的 sha1,Gerrit 很乐意将其作为新的补丁集接受。

于 2012-07-06T15:17:30.203 回答
18

仅使用 Gerrit UI 没有正确的方法来执行此操作。挑选“更改列表”的特定“补丁集”(例如,如果更改列表中有 15 个补丁集并且想要恢复到补丁集#8)。从 Gerrit UI 获取所需补丁集的 cherry-pick 命令。

运行该 cherry-pick 命令,然后使用git commit --amend,然后推送您的更改。它将生成新的补丁集(对于上面的示例 #16)。

于 2018-02-19T12:02:09.587 回答