git跟蹤遠程分支,查看本地分支追蹤和遠程分支的關系


跟蹤遠程分支

如果用git push指令時,當前分支沒有跟蹤遠程分支(沒有和遠程分支建立聯系),那么就會git就會報錯

There is no tracking information for the current branch. Please specify which branch you want to merge with. 

因為當前分支沒有追蹤遠程指定的分支的話,當前分支指定的版本快照不知道要作為服務器哪一個分支的版本快照的子節點。簡單來說就是:不知道要推送給哪一個分支。
那么如何建立遠程分支:

  1. 克隆時自動將創建好的master分支追蹤origin/master分支
git clone 服務器地址 
git checkout -b develop origin/develop

   git clone -b v1.0.0 git@gitlab        (v1.0.0 是分支名)

 

在遠程分支的基礎上建立develop分支,並且讓develop分支追蹤origin/develop遠程分支。

git branch --set-upstream branch-name origin/branch-name 

branch-name分支追蹤遠程分支origin/branch-name

git branch -u origin/serverfix

設置當前分支跟蹤遠程分支origin/serverfix

查看本地分支和遠程分支的跟蹤關系

git branch -vv

比如輸入

$ git branch -vv
  develop   08775f9 [origin/develop] develop
  feature_1 b41865d [origin/feature_1] feature_1
* master    1399706 [my_github/master] init commit 

develop分支跟蹤origin/develop
feature_1分支跟蹤origin/feature_1
master跟蹤了my_github/master,且當前分支為master分支

那么假如我此時想要將master的改變推送到origin服務器的master分支上:

$ git checkout master//切換到master分支 ... $ git branch -u origin/master//將當前分支跟蹤origin/master Branch 'master' set up to track remote branch 'master' from 'origin'. 

之后就可以執行git add和git commit了
現在再查看一下本地和遠程的分支關系:

$ git branch -vv
  develop   08775f9 [origin/develop] develop
  feature_1 b41865d [origin/feature_1] feature_1
* master    1399706 [origin/master] init commit 

master已經跟蹤了origin/master了

也可以:

git clone XXXXXX

git checkout --track origin/org_dev

查看跟蹤關系:

 

fengdeMacBook-Pro:riki fengma$ git branch -vv

 

  master  b7a26015 [origin/master] 1

 

* org_dev 5c65d305 [origin/org_dev] modify user app name

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM