避免 gerrit/git 中的合并提交
Avoid merge commits in gerrit/git
场景是这样的。
- 开发人员 A 将提交 c1 推送到基于提交 c
的 gerrit
- 开发人员 B 将提交 c2 推送到同样基于提交 c
的 gerrit
- 审阅者在 gerrit 中合并提交 c1 和 c2。
- 当审阅者从 repo 拉取(使用 git pull --rebase)时,he/she 看到 3 个提交。
(最后显示在顶部,如 git 日志所示)
合并 "log_message_of_commit_c2" 到 master(这没有更改 ID)
log_message_of_commit_c2
log_message_of_commit_c1
在c1之后合并c2时,merge commit是gerrit自己创建的吗?
有什么办法可以避免这种情况吗? (除了开发者B rebasing 并重新提交c2,但这涉及到A 和B 之间的同步,这并不总是可能的)
谢谢,
萨米尔
合并提交由 Gerrit 创建。
您可以通过在 Gerrit 中使用 cherry-pick 策略来避免这种合并提交。参见:https://gerrit-review.googlesource.com/Documentation/project-configuration.html#submit_type
场景是这样的。
- 开发人员 A 将提交 c1 推送到基于提交 c 的 gerrit
- 开发人员 B 将提交 c2 推送到同样基于提交 c 的 gerrit
- 审阅者在 gerrit 中合并提交 c1 和 c2。
- 当审阅者从 repo 拉取(使用 git pull --rebase)时,he/she 看到 3 个提交。
(最后显示在顶部,如 git 日志所示)
合并 "log_message_of_commit_c2" 到 master(这没有更改 ID)
log_message_of_commit_c2
log_message_of_commit_c1
在c1之后合并c2时,merge commit是gerrit自己创建的吗? 有什么办法可以避免这种情况吗? (除了开发者B rebasing 并重新提交c2,但这涉及到A 和B 之间的同步,这并不总是可能的)
谢谢, 萨米尔
合并提交由 Gerrit 创建。
您可以通过在 Gerrit 中使用 cherry-pick 策略来避免这种合并提交。参见:https://gerrit-review.googlesource.com/Documentation/project-configuration.html#submit_type