Differences between git pull origin master & git pull origin/master
git pull origin master和git pull origin/master有什么区别?
- 冷静点,它已经涵盖了很多,但没有答案的是,你不应该这样做git pull origin/master。如果要合并[本地存储的]远程分支origin/master,只需使用git merge origin/master。
- @杰弗洛米:你能解释一下为什么Git合并总是比Git拉更好吗?
- git pull是指git fetch后接git merge。它从远程获取内容,然后将其合并到当前分支中。但origin/master是本地分支(跟踪远程分支)。如果你想合并它,你不需要取任何东西。当你实际上没有从遥控器上取东西的时候,你会误导地说git pull origin/master。
- 感谢Jefromi提供的有用信息。这真的有助于很容易理解不那么容易的概念。
- 对于那些阅读本文仍感到困惑的人,origin/master是一个本地存储的分支,它在源站远程缓存主分支。
git pull origin master将从origin远程master分支中提取更改,并将其合并到本地签出分支。
git pull origin/master将从本地存储的分支origin/master中提取更改,并将其合并到本地签出的分支。origin/master分支本质上是上次从origin中提取的内容的"缓存副本",这就是为什么它在git术语中被称为远程分支的原因。这可能有点令人困惑。
您可以看到git branch和git branch -r提供了哪些分支来查看"远程分支"。
- 如果是git pull origin master,它会一直合并到主分支吗?比如说,在我的repo中的另一个分支上,然后执行上面的命令,它会用源远程更改更新我的当前分支吗?还是用更改更新我的主分支?
- 我的回答实际上有点不正确。:)我已经更新了。您的问题的答案是,在任何一种情况下,它都将合并到您当前的分支。为了避免与您当前的分支机构合并,您需要git fetch和单独的git merge。
- @冷静:git merge(因此git pull总是合并到当前的分支中。要与当前分支以外的其他分支合并,只需先签出它。
- 嗯。。我看不出"源站/主站"与"源站主站"有什么不同;它们都是源站的主分支。你真的能举个例子说明它们什么时候会不同吗?
- @断开网络连接后,尝试执行"拉源站主控形状"。然后尝试"合并原点/主控形状"(因为它不是遥控器,所以不能拉)。一个有效,因为它是本地的,而另一个不有效。
- git pull origin/master在编写时可能是一个有效的命令,但现在(git 1.7.10.3)它在fatal: 'origin/master' does not appear to be a git repository中失败了(正如它应该的那样,pull总是用于从远程拉取)。
- 当你在一个分支上时,"git pull origin/master"和"git merge master"有什么区别?-@雅各布·伯格