git遠程分支--remote


查看所有遠程引用:

$ git ls-remote
From ssh://someone@example/testgit
ebf3ef7551603cd57a699e80db0bfab36d1aa7b0    HEAD
ebf3ef7551603cd57a699e80db0bfab36d1aa7b0    refs/heads/master
9d4073a1052c6d62d28b6802461b0f401731ccef    refs/tags/v1_tag
ca71d3b05cf56743b291d412e31001ec17d5e529    refs/tags/v1_tag^{}

跟蹤遠程分支:

  克隆一個倉庫時,它通常會自動地創建一個跟蹤 origin/master 的 master 分支。

  創建本地分支跟蹤遠程分支:git checkout -b [branch] [remotename]/[branch]

$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch serverfix from origin.
Switched to a new branch 'sf'

  或者使用--track,這時本地分支名字和遠程分支的名字一樣。

$ git checkout --track origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

  具有跟蹤關系的本地分支和遠程分支可以自動pull、push和fetch。

 

  設置已有的本地分支跟蹤一個剛剛拉取下來的遠程分支,或者想要修改正在跟蹤的上游分支,你可以在任意時間使用 -u 或 --set-upstream-to 選項運行 git branch 來顯式地設置。

$ git branch -u origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.

  上游快捷方式:

  當設置好跟蹤分支后,可以通過 @{upstream} 或 @{u} 快捷方式來引用它。 所以在master 分支時並且它正在跟蹤 origin/master 時,如果願意的話可以使用 git merge @{u} 來取代 git merge origin/master

 

  如果想要查看設置的所有跟蹤分支,可以使用 git branch 的 -vv 選項

$ git branch -vv
  iss53     7e424c3 [origin/iss53: ahead 2] forgot the brackets
  master    1ae2a45 [origin/master] deploying index fix
* serverfix f8674d9 [teamone/server-fix-good: ahead 3, behind 1] this should do it
  testing   5ea463a trying something new

  可以看到 serverfix 分支正在跟蹤 teamone 服務器上的 server-fix-good 分支並且領先 2 落后 1,意味着服務器上有一次提交還沒有合並入同時本地有三次提交還沒有推送。 最后看到 testing 分支並沒有跟蹤任何遠程分支。

  需要重點注意的一點是這些數字的值來自於你從每個服務器上最后一次抓取的數據。 這個命令並沒有連接服務器,它只會告訴你關於本地緩存的服務器數據。 如果想要統計最新的領先與落后數字,需要在運行此命令前抓取所有的遠程倉庫。 可以像這樣做:$ git fetch --all; git branch -vv

 

刪除遠程分支:

$ git push origin --delete serverfix
To https://github.com/schacon/simplegit
 - [deleted]         serverfix

 


免責聲明!

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



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