【发布时间】:2020-11-09 16:49:36
【问题描述】:
我目前有几个基于彼此的分支。我们也在使用 Gerrit。
master
\- A
\- B
实际上总共有四个,但要解释我的问题,两个就足够了。我的问题如下: 我已经对 A 进行了更改,并希望在 B 中进行这些更改。我尝试过的:
git checkout B && git rebase Agit checkout B && git merge A
1.) 的问题:
变基本身运行良好,但不知何故,它使用 A 的 Change-Id 创建了一个提交,因此如果我在变基后推送,则更改 A 会得到一个空补丁集。我想有一次我什至整理了一些文件。手动删除该提交是可行的,但有更好的方法,对吧?
2.) 的问题:
合并本身也可以正常工作。但是我不能git commit --amend 更新B,我需要做git commit,这会创建一个新的提交,这是我不想要和不需要的。之后,我需要将旧的提交消息复制到新的提交中。这行得通,但我认为这不是应该的方式吗?
那么,如何从 B 中的 A 获取更新并简单地使用 git commit --amend 更新提交消息,然后将其推送到 gerrit?谢谢!
【问题讨论】:
-
你真的有两个分支还是只有两个基于彼此的开放更改?如果你真的有两个分支,每个分支都有开放的变化吗?
-
@MarceloÁviladeOliveira 有两个分支和两个变化。每次更改我都会保留一个分支。不知道这是否是 Gerrit 的最佳实践,但到目前为止它大部分都有效。除了变基
标签: git merge commit gerrit rebase