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
# 把本地分支關聯到遠程主分支;為每個更新或推送的分支設置遠程引用
# 若遠程倉庫沒有<遠程分支名>時,會自動創建該分支名