繁体   English   中英

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

[英]Why did a git pull origin master not work, but a git pull did?

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

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

然后我做了一个普通的git pull ,然后看到我所有的同事都在改变并与我当地的主分支合并。

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

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

想法?

提前致谢。

听起来您当地的分支机构没有跟踪您的想法。 尝试发出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

这些假设您的本地分支称为master

@Chirstopher 的回答没有任何意义。 如果我输入git pull origin master它应该从远程源拉出 master 分支,但这并不总是发生。

拉取远程分支的唯一可靠方法是先检出分支,然后再拉取。

将远程master分支拉入本地develop分支:

git stash
git chechout master
git pull
git checkout develop
git pull master
git stash pop

通过事物的声音,您正在拉下其他分支。 其他开发人员正在另一个分支上工作,或者您处于分离状态并且不再在分支/他们的分支上。

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

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

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM