我一直在相对较短的时间内使用 github,并且我一直使用客户端来执行提交和请求。我决定昨天从 git bash 尝试一下,然后成功创建了一个新的 repo 和提交的文件。
今天,我从另一台计算机对存储库进行了更改,已经提交了更改,现在回到家并执行了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>
此仓库的唯一贡献者是我,并且没有分支机构(只是管理员)。我在 Windows 上,并且已经执行了 git bash 的拉动操作:
git 状态:
$ git status
# On branch master
nothing to commit, working directory clean
git 分支:
$ git branch
* master
我究竟做错了什么?
您可以指定要提取的分支:
git pull origin master
或者,您可以对其进行设置,以便您的本地 master 分支将 github master 分支作为上游进行跟踪:
git branch --set-upstream-to=origin/master master
git pull
克隆存储库时(仅适用于默认分支),会自动为您设置此分支跟踪,但是如果将远程站点添加到现有存储库中,则必须自己设置跟踪。值得庆幸的是,git 给出的建议使您很容易记住该怎么做。
请参阅: git checkout 标记,git pull 在分支中失败
如果像我一样需要始终执行此操作,则可以通过将以下内容添加到.gitconfig
文件中来设置别名来自动执行此操作:
[alias]
set-upstream = \
!git branch \
--set-upstream-to=origin/`git symbolic-ref --short HEAD`
当您看到消息 “ There is no tracking information...
,运行:
git set-upstream
git push
ComputerDruid 的答案很好,但是除非您愿意,否则我认为没有必要手动设置上游。我添加此答案是因为人们可能认为这是必要的步骤。
如果您按如下方式指定要拉出的遥控器,此错误将消失:
git pull origin master
请注意, origin
是远程的名称, master
是分支的名称。
1)如何检查遥控器的名称
git remote -v
2)如何查看存储库中可用的分支。
git branch -r