我刚刚做了一些新的改变
接下来我做了git fetch
然后git merge origin/master
HEAD
已快速转发。
我继续添加3个提交。
然后,我重复这个过程git fetch
和git merge origin/master
这次,进行了合并。
所以,我做了git reset --soft HEAD^
现在回到合并前的舞台
我检查了更改的文件(git status
)是否与我的本地提交不同。
但它的说法
On branch master
Your branch and 'origin/master' have diverged,
and have 3 and 1 different commit(s) each, respectively.
我认为合并是因为分支分歧。
分支为何分歧?
如果我不想进行合并,是否可以进行rebase(就像快进一样)?
答案 0 :(得分:2)
分支因为有人对遥控器进行了更改而分歧。如果你这样做
git pull --rebase
它会使你的工作在分歧上有所改变,并给你你想要的东西。
答案 1 :(得分:0)
分支分歧是因为有人将提交推送到该远程分支,然后在git fetch
如果只是快进,你可以这样做:
git fetch
git rebase origin/master
或git pull --rebase
,但我更喜欢在分开的步骤中获取和重新定位。
他们都会快进并在分支的顶部应用您的本地更改。
假设你从同一个远程分支分支并且正在重新定位一个rebase:
所以一个rebase不会搞砸了。当我正在关注正在进行主动编辑的远程分支并且我有一些提交时,我更喜欢重新定位,以便我的更改都在提交列表的顶部。