gpt4 book ai didi

git - 如何重新 merge merge 但保持 merge 提交

转载 作者:太空狗 更新时间:2023-10-29 14:44:55 31 4
gpt4 key购买 nike

我和我的团队正在使用远离主轨道 (origin/dev) 的远程分支 (origin/our_feature_branch) 开发一项功能。 Gerrit用于审查等。

使用 git merge origin/dev 提升远程分支,然后修复冲突、提交和 git push origin HEAD:refs/for/our_feature_branch

Gerrit 强制执行一条规则,即一次只能推送一个提交。我对此无能为力。

假设我开始做提 pull 运动:

git fetch
git checkout -b uplift origin/our_feature_branch
git merge origin/dev

但在这里我无法解决一些冲突,回归测试需要一些时间才能运行,并且一些团队成员向 Gerrit 中的功能分支提交了另一个提交。此提交现在位于我“持续”提升的基础提交之上。

我现在该怎么办?

如果我将我的 merge 提交重新定位在功能分支上,我将删除 merge 并添加所有从 origin/dev merge 的提交到它的顶部 - 不是一个选项。如果我与功能分支 merge ,我最终会在 merge 时 merge ,我最终不得不将两个提交推送到 Gerrit - 也是不允许的。

是否有解决此问题的方法,或者我是否必须重新进行 merge 并尽量记住在我下次开始提升工作时告诉每个人我们有一个交付停止?

最佳答案

正如评论中所建议的,git rebase -p 解决了这个问题

开始创建提升提交:

git fetch
git checkout -b uplift origin/our_feature_branch
git merge origin/dev
git commit

在 Gerrit 中向 origin/our_feature_branch 提交了一些内容。

执行以下操作来 rebase merge 提交并保持 merge :

git fetch
git rebase -p origin/our_feature_branch

现在可以将 merge 提交推送到 Gerrit,它将基于最新的 origin/our_feature_branch 和与 git 之前相同的 origin/dev rebase -p

关于git - 如何重新 merge merge 但保持 merge 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692857/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com