我从主人那里做了一个功能分支:
git checkout -b branch1
+ commits to this branch
git push
后来有人在GitHub上建立了第二个分支,然后我获取了该分支并对其进行了编辑:
git checkout branch2
+ commits to this branch
git push
我希望我们可以将branch2放入master,然后将最新的master(带有branch2)放入我的branch1。
但是现在我被告知他们不希望master本身拥有branch2,而是应该将branch2放入我的branch1中,并在branch1完成时将branch2作为branch1的一部分推送。
所以我正在尝试将branch2放入我的branch1中。我尝试以下...
git checkout branch1
git rebase --onto branch2
git log
...但是git log显示该变基获得的是分支2的原始版本,而不是我所做的其他分支2更改。
如何将整个当前的branch2放入我的branch1中?
如果我使用git merge而不是git rebase,那么它将起作用(即,获取在branch2中所做的所有提交...并将它们添加到branch1的头部):
git checkout branch1
git merge branch2
git log
我不明白为什么git rebase没有获得所有branch2提交,而只有第一个提交?
答案 0 :(得分:1)
当我将一个分支建立在另一个分支上时,我总是遵循以下步骤:
如果您的本地存储库已更新,请检查分支是否与源位于同一位置,或在rebase命令中使用前缀 origin / 。