我使用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分支,而没有把它推到原点。

试着先执行这两行:

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分支——set-upstream-to=origin/main

试着用

git push --set-upstream origin <branch_name>

否则

use

git push -u 

会告诉你该怎么做。

步骤1

$ 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=<remote>/<branch> master

步骤2

$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.

步骤3

$ git pull
Already up to date.

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

$ git pull

为我工作!

有了Git 2.24(2019年Q4),你就不必这么做了

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

你将能够做到:

git pull --set-upstream-to=origin/main main

参见“默认远程和分支使用-u选项-适用于推而不是拉”。


注意,在Git 2.37 (Q3 2022)中,你有一个新的选项push.autoSetupRemote

git config --global push.autoSetupRemote true

然后,一个简单的git push将与git push——set-upstream-to=origin/main main相同,使下一个git pull已经设置为从origin/main检索提交。