我使用github的时间相对较短,我总是使用客户端来执行提交和拉取。昨天我决定从git bash中尝试一下,我成功地创建了一个新的repo和提交文件。

今天我从另一台计算机上对存储库进行了更改,我已经提交了更改,现在我回到了家,并执行了git拉来更新我的本地版本,我得到了这个:

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 bash的拉:

git 状态:

$ git status
# On branch master
nothing to commit, working directory clean

git 分支:

$ git branch
* master

我做错了什么?


当前回答

我经常遇到这个确切的消息,因为我通过git checkout -b <feature-branch-name>创建了一个本地分支,而没有首先创建远程分支。

当所有的工作都完成并提交到本地后,修复是git push -u,它创建了远程分支,推送了我所有的工作,然后是合并请求URL。

其他回答

我尝试了上面的例子,但无法让它们与我在另一台计算机上创建的(非主)分支同步。对于后台,我在计算机A (git v 1.8)上创建了这个存储库,然后将该存储库克隆到计算机B (git 2.14)上。我在B上做了所有的更改,但当我试图将更改拉到计算机A上时,我无法这样做,得到相同的上述错误。与上述解决方案类似,我必须做到:

git branch --set-upstream-to=origin/<my_branch_name> 
git pull

略有不同,但希望能帮助到别人

$ git分支——set-upstream-to=heroku/master master 而且

$ git pull

为我工作!

ComputerDruid的答案很好,但我认为没有必要手动设置上游,除非你想这样做。我加上这个答案是因为人们可能认为这是必要的一步。

如果你像下面这样指定你想要拉动的遥控器,这个错误就会消失:

git pull origin master

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


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

git remote -v

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

git branch -r

同样的事情也发生在我之前,当我创建了一个新的git分支,而没有把它推到原点。

试着先执行这两行:

git checkout -b name_of_new_branch # create the new branch
git push origin name_of_new_branch # push the branch to github

然后:

git pull origin name_of_new_branch

现在应该没事了!

你可以指定你想要拉哪个分支:

git pull origin master

或者你可以设置它,让你的本地主分支跟踪github主分支作为上游:

git branch --set-upstream-to=origin/master master
git pull

当您克隆存储库(仅针对默认分支)时,该分支跟踪将自动为您设置,但如果您将远程添加到现有存储库,则必须自己设置跟踪。值得庆幸的是,git给出的建议让你很容易记住该怎么做。