协慌网

登录 贡献 社区

当前分支没有跟踪信息

我一直在相对较短的时间内使用 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

感谢https://zarino.co.uk/post/git-set-upstream/

ComputerDruid 的答案很好,但是除非您愿意,否则我认为没有必要手动设置上游。我添加此答案是因为人们可能认为这是必要的步骤。

如果您按如下方式指定要拉出的遥控器,此错误将消失:

git pull origin master

请注意, origin是远程的名称, master是分支的名称。


1)如何检查遥控器的名称

git remote -v

2)如何查看存储库中可用的分支。

git branch -r