Git分支无跟踪信息

8

执行 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-to=origin/<branch> my_branch

问题是我创建了这个分支,并在这个分支上做了很多次提交,然后切换到其他分支并回到这个分支。然后一个新用户添加了几个提交,之后我就收到了这个消息。

我的问题 不是如何修复这个问题,而是想知道是什么原因导致了这个问题,以及如何防止它再次发生。

1个回答

10
这是因为您没有设置upstream(即您要跟踪的远程分支)。

要设置跟踪远程分支:

如果本地分支在您的本地机器上创建,则在推送到远程时,您可以在执行git push时使用-u / --set-upstream选项。

如果该分支从远程分支检出,则在执行git checkout时,您可以使用--track选项。

要解决此问题(设置远程跟踪分支),请按照git给出的提示操作:

git branch --set-upstream-to=origin/<branch> my_branch

默认情况下,我只有主分支的上游分支,其他人提交的每个分支我都必须设置上游分支吗? - 1392023093user
一个分支只能有一个上游,如果你没有设置,就不会有上游。当你克隆项目时,master分支的上游已经被设置了。 - xdazz
4
我对 origin/<branch> 中的斜杠感到困惑。我也不明白 <branch> 应该是什么。我还不明白为什么我需要这样做。谢谢你让我更加困惑的神奇答案。 - user12411795

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接