git pull:当前分支没有跟踪信息
我一直在使用github,而且我一直使用客户端来执行提交和提交。 我决定尝试从git bash昨天,我成功地创build了一个新的回购和提交的文件。
今天,我做了从另一台计算机的存储库的变化,我已经承诺的变化,现在我回家,并执行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>
这个回购的唯一贡献是我,没有分支(只是一个主)。 我在窗户上,我已经从git bash执行拉:
git状态:
$ git status # On branch master nothing to commit, working directory clean
git分支:
$ git branch * master
我究竟做错了什么?
你可以指定你想要拉的分支:
git pull origin master
或者你可以设置它,让你的本地主分支作为上游跟踪github主分支:
git branch --set-upstream-to=origin/master master git pull
此分支跟踪是在克隆存储库时自动为您设置的(仅适用于默认分支),但如果将远程存储添加到现有存储库,则必须自行设置跟踪。 值得庆幸的是,git给出的build议使得记住如何做起来非常容易。
请参阅: 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
。
我经常碰到这个确切的消息,因为我通过git checkout -b <feature-branch-name>
创build了一个本地分支,而没有先创build远程分支。
在所有工作完成并在本地完成后,修复程序是创build远程分支的git push -u
,推送了我所有的工作,然后是合并请求URL。