我有一个本地分支A从master分支,而分支B从A分支,如果我修改了分支A中的提交。我怎样才能在分支B中获得分支A更新。
答案 0 :(得分:1)
您可以在rebasing修改后更新B分支。
最初,您可能会遇到以下情况:
* 9a808df (HEAD, B) Initial B branch commit
* 2d6684f (A) Initial A branch commit
* 88fe061 (master) added some changes
* 90499d4 initial commit
如果您checkout
分支A,add
进行了一些更改,然后commit --amend
,您将拥有以下内容:
* 0f99377 (HEAD, A) Initial A branch commit with some amended changes
| * 9a808df (B) Initial B branch commit
| * 2d6684f Initial A branch commit
|/
* 88fe061 (master) added some changes
* 90499d4 initial commit
如您所见,分支B在其历史记录中保留原始A提交,而分支A现在具有此提交的不同版本。
解决方案:您想要的是更新B对新提交的基础,即
git branch new_base 0f99377
git checkout B
git rebase new_base
git branch -d new_base
然后,最后您将拥有以下内容:
* 57db150 (HEAD, B) Initial B branch commit
* 0f99377 (A) Initial A branch commit with some amended changes
* 88fe061 (master) added some changes
* 90499d4 initial commit
答案 1 :(得分:0)
您的解决方案包括使用git rebase --onto并选择好的提交...