Cod*_*ein 5 git github git-pull git-push fast-forward
在我的回购中,我有一个master分支和一个new分支.
我已经工作new了一段时间,做出了提交,并在我离开时推动.我现在决定分支new并打电话给它newest.所以我做了
git checkout -b "newest"
Run Code Online (Sandbox Code Playgroud)
并且分支已成功创建.我添加了一个文件,并开始研究它.我做了几次改变.
但是当我尝试推送这个新分支并对其进行更改时origin,我收到此错误:
C:\wamp\www\myproj>git push origin
To https://github.com/Imray/Proj.git
! [rejected] master -> master (non-fast-forward)
! [rejected] new -> new (non-fast-forward)
error: failed to push some refs to 'https://github.com/Imray/Proj.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
所以,按照说明中的说明,我试过了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> newest
Run Code Online (Sandbox Code Playgroud)
我被卡住了.
如何将我的新分支和更改推送到github?
检查你的git config push.default。它可能位于“ matching”,因为它尝试推送所有现有分支。
这是Git 2.0+ 之前的默认设置。
我建议将其设置为“ simple”,以便仅推送当前分支。
话虽这么说,要推送分支,您需要(对于第一次推送)设置上游分支。
对于以前从未推送过的分支:
git push -u origin newest
Run Code Online (Sandbox Code Playgroud)
对于上游仓库中确实存在的分支:
git branch --set-upstream-to=origin/master master
git branch --set-upstream-to=origin/new new
Run Code Online (Sandbox Code Playgroud)
然后是git checkout master ; git pull would作品。