为什么 git pull origin master 不起作用,但 git pull 可以?

use*_*898 6 git branch git-pull

所以今天早上我遇到了一个奇怪的问题,我想知道社区是否可以帮助我解决这个问题。所以git pull origin master当我想从远程主副本中获取和合并项目更改并将它们带到我的本地主时,我一直在做。

不过,我最近遇到了一些合并问题,所以我做了一个实验——
我一直都git pull origin master这样做,并收到了“已经是最新的”消息

然后我做了一个正常的git pull然后看到我所有的同事的变化滚进来并与我当地的主分支合并。

为什么 git pull origin master 不起作用,但 git pull 可以?

我想知道由于我发现的这个怪癖,我没有看到多少变化。我已经做了一些研究以找出差异是什么,但是当我看到更改被获取并合并到我的之前用那个方法分支。

想法?

提前致谢。

Chr*_*her 6

听起来您当地的分支机构并没有跟踪您的想法。尝试发出git remote show origin并检查“为‘git pull’配置的本地分支:”部分。git pull如果没有指定,将默认使用当前分支的“远程”和“合并”配置,根据手册页:

和 的默认值是从当前分支的“远程”和“合并”配置中读取的,由 git-branch(1) --track 设置。

我敢打赌,您配置的跟踪分支与origin/master. 您也可能从不同的遥控器进行拉取。要验证这些可能性,请尝试:

git config branch.master.remote ;# shows you the tracked remote
git config branch.master.merge ;# shows you the tracked upstream branch
Run Code Online (Sandbox Code Playgroud)

这些假设您的本地分支机构名为master


Man*_*tok -3

通过事物的声音,你正在拉断其他树枝。其他开发人员要么正在另一个分支上工作,要么您处于分离状态并且不再在某个分支/他们的分支上。

如果运行,git branch --all它将显示项目中的所有分支。

要切换回 master,只需运行:git checkout master

希望这可以帮助