在修改当前分支中的提交时同步其他分支

时间:2019-11-28 13:30:22

标签: git branch rebase amend

我必须分支A和B:

1-2-3
  ^ ^
  A B

说我想修改提交2,所以我签出分支A并执行git commit --amend。 现在我的图看起来像这样:

1--2'   [A]
 \-2-3  [B]

有没有一种方法可以自动更新分支B(如果没有冲突),这样我的图就可以了

1-2'-3
  ^  ^
  A  B

我知道我可以git checkout B && git rebase A并使用git rebase --skip,但是有更快的方法吗?

1 个答案:

答案 0 :(得分:1)

假设的预期情况

1-2'-3
  ^  ^
  A  B

无法发生,因为3永远拥有2作为其父代。

在git中,“更改提交的父代”是不可能的,您 可以做的是用新的父代创建一个新的提交(这发生在重新设置基数和Cherry-pick期间,并且通常像您上面的2'一样被象征。)

您认为的变基处理是解决此问题的典型方法。 (不,没有真正更快/更简便的方法。)


更准确地描述重新定级后的最终结果:

1---2---3 <<< not referenced anymore, 2 and 3 are candidates for garbage collection
 \
  2' <<< A
   \
    3' <<< B <<< HEAD
相关问题