git pull origin master
和git pull origin/master
有什么区别?
git pull origin master
和git pull origin/master
有什么区别?
git pull origin master
命令会从远程的 origin
仓库的 master
分支拉取更新,并将其合并到本地当前所在的分支。
git pull origin/master
命令会从本地存储的 origin/master
分支拉取更新,并将其合并到本地当前所在的分支。实际上,origin/master
是上一次从远程仓库 origin
拉取时的“缓存副本”,这就是为什么在 git 中它被称为远程分支,可能有些令人困惑。
你可以使用 git branch
和 git branch -r
命令查看可用的分支,包括“远程分支”。
git merge
命令(以及git pull
)总是将分支合并到当前分支中。如果要与除当前分支以外的其他分支进行合并,只需先切换到该分支即可。 - Cascabelgit pull origin/master
可能是一个有效的命令,但是现在(git 1.7.10.3),它会失败并显示 fatal: 'origin/master' does not appear to be a git repository
(这也应该如此 - pull 命令总是用于从远程仓库拉取代码)。 - user1338062git pull
= git fetch
+ git merge origin/branch
git pull
和 git pull origin branch
的不同之处在于后者只会“更新” origin/branch,而不像git pull
那样更新所有的origin/*。
git pull origin/branch
无法正常工作,因为它试图执行无效的git fetch origin/branch
操作。
相关问题:git fetch + git merge origin/master vs git pull origin/master
git pull origin master
将获取远程主分支的所有更改并将其合并到您的本地分支。我们通常不使用 git pull origin/master。我们可以通过 git merge origin/master
做同样的事情。它将把远程主分支的“缓存副本”中的所有更改合并到您的本地分支。在我的情况下,git pull origin/master
抛出错误:
fatal: 'origin/master' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git pull origin/master
。如果您想合并 [本地存储的] 远程分支origin/master
,只需使用git merge origin/master
。 - Cascabelgit pull
表示git fetch
后跟着git merge
。它会从远程获取内容,然后将其合并到当前分支中。但是origin/master
是一个本地分支(跟踪远程分支)。如果你想要合并它,你不需要获取任何东西。当你实际上没有从远程获取内容时,说git pull origin/master
是具有误导性的。 - Cascabelorigin/master
是一个本地储存的分支,该分支缓存了远程仓库中的主分支。 - iheanyi