git status
它将得到:
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
然后如果我运行
git fetch -a && git merge origin master
它将得到:
Already up-to-date.
我想知道为什么我不能进行合并操作?
git fetch && git merge origin/master
与不同
git fetch && git merge origin master # Invalid
因为CCD_ 1更新CCD_。除非指定,否则您总是引用工作目录的HEAD
,它位于.git/refs/heads/<branch name>
中
注意:git merge
是本地操作。git merge origin master
是无效操作。正如这里所讨论的SO问题
Git获取git fetch
获取远程分支的信息,但不会对本地master
分支进行任何更改。因此,master
和git fetch
0仍然是发散的。您必须使用git pull
进行提交时,您的本地主分支将领先于origin/master
,直到您推送这些更改。这种情况正好相反,origin/master
分支位于本地主分支之前。这就是为什么你会得到不同的结果
源
执行git merge origin master
时,origin
和master
都被解释为分支名称。然而,origin
指的是另一个存储库(称为远程存储库(,而不是分支。您可以通过一个简单的更改来执行此操作:
git fetch && git merge origin/master
这里origin/master
指的是远程跟踪分支。这是从origin
远程获取的分支的本地副本。或者,你可以只做
git pull origin master
或者,由于您已经在.git/refs/remote/<remote server name>/<remote branch name>
0分支上,您可以进行
git pull