2012-04-19 90 views
1

這是我對Git的理解: -指示哪些分支跟蹤哪些遠程分支

如果我克隆一個存儲庫,那麼我最初只會獲得master分支的副本。然後我可以指出我想用git checkout-b標誌跟蹤遠程分支。這按預期工作。

所以我的問題是你如何讓Git告訴你這些信息。如果我輸入git branch -a,那麼它會顯示我所有分支的混合列表,例如

* master 
    mybranch 
    remotes/origin/master 
    remotes/origin/mybranch 

我想知道的不是維護同一個名稱,我怎麼能告訴當地的分支機構正在跟蹤什麼是遠程的?

謝謝。

回答

5

如果我克隆一個存儲庫,那麼我最初只會得到一個master分支的副本。然後我可以指出我想用-b標誌使用git checkout來跟蹤遠程分支。這按預期工作。

事實上,git checkout -b ...是你用什麼來創建一個新的分支。如果您只想檢出遠程中已存在的分支,則不需要-b。例如,在這裏我創建一個本地分支來跟蹤remotes/origin/folder-hack

$ git checkout folder-hack 
Branch folder-hack set up to track remote branch folder-hack from amdragon. 
Switched to a new branch 'folder-hack' 

我想知道的是比維護其他同名的,我怎麼能知道哪些地方分支機構正在跟蹤哪些遠程的?

每個分支在.git/config中都有相應的配置。您可以通過查看branch.<BRANCHNAME>.remote找到與分支關聯的遠程,並且您可以通過查看branch.<BRANCHNAME>.merge找到遠程分支的名稱。所以,從我前面的例子:

$ git config --get branch.folder-hack.remote 
amdragon 
$ git config --get branch.folder-hack.merge 
refs/heads/folder-hack 

您可以只運行git config --list,並期待在branch...線。

+0

謝謝,真的很有幫助 – baynezy 2012-04-19 14:02:13

0

你可以看到所有遠程的分支機構和當地分行已經跟蹤與遙控:

git remote show origin 
+0

更好謝謝。 – baynezy 2012-04-24 11:40:37

1

嘗試

git branch -vv 

遠程分支顯示在同一行當地分支的跟蹤它。