我对git很新。我主要是将内容检查到存储库中,但现在我想从其他开发人员那里获得最新的更改。
我试图简单地执行像git pull
这样的命令运行,但它回来时带有这样的消息:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
然后我做了git pull my_branch_name
它回来了:
fatal: 'develop' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
但在此之前我已经完成了git checkout my_branch
。
有人可以让我知道我做错了什么以及如何才能获得已签入的最新文件?
谢谢!
答案 0 :(得分:53)
我认为你在拉动时错过了遥控器的名称:
git pull <remote> my_branch_name
运行此命令:
git remote -v
并检查您要从中拉出的遥控器的名称
编辑:
如果您是Git的新手,我建议您this book。它涵盖了从基础到高级的主题,易于理解和阅读
答案 1 :(得分:43)
正如第一条错误消息所示,你需要告诉git在它为该分支提取时的位置:
在Git 1.8及更高版本中,确保你已经检查了开发和运行:
git branch --set-upstream-to origin/develop
或更短的: -
git branch -u origin/develop
在版本1.8之前的Git中:
git branch --set-upstream develop origin/develop
完成后,您可以git pull
而无需指定遥控器或分支。
如果尚未设置远程原点,请先运行:
git remote add origin url
答案 2 :(得分:36)
尝试此命令:
git pull origin master
git push -u origin master
答案 3 :(得分:1)
您可以指定要拉的分支:
git pull origin master
或者你可以设置它,以便你的本地主分支跟踪github主分支作为上游:
git branch --set-upstream-to=origin/master master
git pull
在克隆存储库时自动为您设置此分支跟踪(仅适用于默认分支),但如果将远程数据库添加到现有存储库,则必须自行设置跟踪。值得庆幸的是,git给出的建议很容易记住该怎么做。
- 显然,在git 1.9.x中不推荐使用set-upstream。 展望未来你想要使用像
这样的东西git branch -u origin/master
假设您已经检查过主人。如果不,
git branch -u origin/master master
将有效
答案 4 :(得分:-1)
我喜欢做的是......
$ git checkout master
$ git pull
$ git checkout <remotebranch>
$ git rebase master