我的本地仓库中有两个分支: branch_1 和 branch_2 ,每个分支基于相同的提交 A 并包含多个提交(头部相应地 A1 和 A2 。
我将 A1 和 A2 都推送到Gerrit 主分支,并进行了两次单独的审核。 然后,我放弃了它们。
现在我需要根据 A 创建一个新的本地分支 branch_3 ,并包含 A1 和 A2 进 A3 。我做了:
git checkout -b branch_3 origin/master
git merge branch_1 branch_2
我需要提交 A3 并将其推送到Gerrit。 第三次审查已经创建,但它取决于之前的两次放弃提交,因此我无法提交。
有没有办法将两个分支合并为一个提交 A3 ,这样它只依赖于 A 而不是 A1 和 A2
答案 0 :(得分:2)
方法1:在origin/master
方法2:签出一个干净的分支,樱桃挑选提交A3,再次推送:
git checkout -b feature --track origin/master
git cherry-pick A3
git push origin HEAD:refs/for/master
答案 1 :(得分:0)
选项'-n'应该用于每次必要提交的挑选:
git checkout A
git cherry-pick -n A1
git cherry-pick -n A2
git commit
新创建的提交A3是预期的提交。