本地合并与Github上的合并有何不同?

时间:2017-12-01 10:28:43

标签: git github merge

将分支合并到主分支时,“insight”中的“网络”部分给了我一个刚刚合并到主分支中的分支的视图:

Branch merge into master: from github

然而,当在本地执行此操作时,在shell中,似乎一切正常但在洞察中,合并的分支消失了:

Branch merge into master: from shell

这是我为了得到这个结果而遵循的步骤:

$ git init
$ git remote add origin (url)
$ touch README.md
$ git add .
$ git commit -m "1"
$ git push -u origin master
$ git checkout -b branch1
$ touch 2.txt
$ git add .
$ git commit -m "2"
$ git push origin branch1
$ git checkout master
$ git merge branch1
$ git push

它是否等同于Github的合并,这意味着Github的洞察力有点被窃听?或者本地合并(就像我做的那样)和Github合并之间有区别吗?发生了什么事?

1 个答案:

答案 0 :(得分:0)

作为tkausl commented,您运行了git merge branch1。这允许git merge执行快进的非真正合并操作(如果可能的话),并且

"合并" GitHub上的clicky按钮默认执行相当于git merge --no-ff 1 的操作,这会阻止git merge执行快进操作。如果无法进行快进操作,则--no-ff将无效,因此您不会看到不同的结果。

如果您想避免在本地快速合并,请使用--no-ff

1 更确切地说,它似乎默认为你上次所做的任何事情,但最初它相当于git merge --no-ff:只是合并,而不是GitHub' s rebase-and-merge,而不是GitHub的压缩和合并。