如何获取本地父分支提交更新

时间:2015-04-18 17:55:20

标签: git

我有一个本地分支A从master分支,而分支B从A分支,如果我修改了分支A中的提交。我怎样才能在分支B中获得分支A更新。

2 个答案:

答案 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并选择好的提交...