2012-11-02 69 views
6

我必須Git倉庫repo1repo2。在repo1有三個分支master,alphabeta。來自repo1repo2克隆。Git商店遠程跟蹤分支在哪裏

repo2,我可以看到遠程跟蹤分行與git branch -a

remotes/origin/HEAD -> origin/master 
remotes/origin/master 
remotes/origin/alpha 
remotes/origin/beta 

但該文件夾.git/refs/remotes/origin/repo2只有一個單一的文件HEAD,其內容是:

ref: refs/remotes/origin/master 

所以這HEAD是一個象徵性的參考。但爲什麼它指向一個不存在的ref?順便說一句,repo2是哪裏存儲的信息alphabeta? (repo2知道alphabeta,因爲這顯示他們git branch -a。)

+0

你正在運行哪個版本?你是不是'init'和'fetch',或者'clone'。我問,因爲有些設置可用於默認提取的內容。 –

+0

這是全部在同一臺機器上,並且您的安裝可以使用符號鏈接而不是真正的第二個副本? –

+0

@PhilipOakley他們在同一臺機器上。答案在下面指出。我忘記了packed-refs問題... – Cyker

回答

6

參考文獻可能是「包裝」在.git/packed-refs

+2

'git help pack-refs'澄清了一切。謝謝! – Cyker

3

的信息是.git/config和像git remote當您添加或修改遙控器通過工具進行更新。有一個手冊頁git-config。如果您搜索「追蹤分支」,您將看到如何配置它們的詳細信息。

+0

這是錯誤的。遠程跟蹤分支不存儲在'.git/config'中。所有分支都存儲在'.git/refs /'或'.git/packed-refs'中。只有跟蹤本地分支的元數據以及獲取和推送refspecs被存儲在'.git/config'中。 –

+0

@CharlesBailey:這個問題中的「跟蹤」這個詞似乎是請求中最具體的部分,所以我專注於跟蹤元數據。 –

+0

這解決了我的問題:visual studio 2013當前分支沒有配置上游分支 – JohnWrensby