1 解决方案
Eg: master分支下创建
$ git checkout master //切换到master分支下
$ git branch branch_tmp_A //在本地仓库创建临时分支branch_ tmp _A
$ git checkout branch_tmp_A //切换到分支branch_tmp_A下
$ git push –set-upstream origin branch_tmp_A //关联远程仓库的上游分支
//把本地分支关联到远程主分支;为每个更新(pull)或推送(push)的分支设置远程引用
//否则:若本地分支未绑定远程分支,git pull 或 git push 时:将无法正常执行
$ git branch -vv //查看当前临时分支对应的上游分支
$ git pull
$ git push
2 补充: 远程分支 关联 本地分支
即 创建/设置 跟踪关系
当我们从1个远程分支切出(创建)1个本地分支时:
该本地分支就叫跟踪分支(tracking branch),
而远程分支叫上游分支(upstream branch)。
方案1 git checkout …
【法一】
$ git checkout -b 本地分支名a 远端主机别名B/远程分支名c
#从远程分支(远端主机B上的c分支)切出/创建新的本地分支a分支
【法二】当然也可不指定本地分支名,直接使用远程分支(同名):
$ git checkout --track 远端主机别名B/远程分支名c
[示例]
$ git checkout -b test origin/develop
#从远程分支(远端主机origin上的develop分支)切出/创建新的本地分支test分支
方案2 git branch -u …
$ git branch -u 远端主机别名B/远程分支名c
# u=upstream-branch
# 指明当前本地分支跟踪某远端主机B的远程分支c
方案3 git push -u … (推荐)
$ git push --set-upstream origin <远程分支名>
# -u=--set-upstream
# 把本地分支关联到远程主分支;为每个更新或推送的分支设置远程引用
# 若远程仓库没有<远程分支名>时,会自动创建该分支名