我创建新GitHub仓库(只有master
分支)的过程如下:
从终端:
git init
git add .
git commit -m "Initial commit"
然后我进入GitHub并创建我的新repo,为它创建一个Git URL,比如Source.single等。然后我回到命令行:
git remote add origin https://github.com/myuser/myRepo.git
git push -u origin master
此时,我通常喜欢从master创建一个develop
分支,然后使用该develop
分支从中逐渐删除特征分支(从而保持master
“干净“所以只有当我发布产品时它才会改变:”
git checkout -b develop
git push origin develop
此时我可以访问GitHub并看到我的远程仓库现在 一个master
以及develop
分支。
git pull
git branch --set-upstream-to=origin/develop develop
现在,如果我尝试对develop
进行任何更改然后推送它们,我会收到以下错误:
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/develop develop
我想知道我当前的分支没有任何“跟踪信息”意味着什么?也就是说,如果我在本地创建分支并推送它,那为什么我有向它添加跟踪信息,“添加跟踪信息”甚至是什么意思?!
答案 0 :(得分:1)
使用
将新创建的开发分支推送到GitHub时git push origin develop
它将提交从本地分支复制到原始远程,创建远程开发分支。但是,git不会自动保存本地开发分支应跟踪(或推送)远程开发分支的信息。这可以通过两种方式完成:
1)首次推送新创建的分支时:
git push --set-upstream origin develop
2)在你推动了开发分支之后,按照git的建议使用 - set-upstream-to 选项:
git branch --set-upstream-to=origin/develop develop
执行其中任何一项操作后,该消息将消失,当您在开发中 git push 时,git现在将默认使用远程分支开发(或 track )分支。
更多信息:
编辑: git push --set-upstream 与 git push -u 相同,这是你用来推动主分支。