2011-06-30 70 views
1

我正在通過一個教程,它說這個命令,「git branch -a」會列出我所有的遙控器,包括本地和遠程遙控器。所以我做到了,這就是我得到的。git分支合併

David-Adamss-MacBook-Pro:releventz davidadams$ git branch -a 
* master 
    remotes/flashdrive/master 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/master 
David-Adamss-MacBook-Pro:releventz davidadams$ 

碩士是我目前在的分支,是綠色的。所有三個遠程分支都是紅色的。當我試圖讓我的遙控器添加並推送到正確的路徑時,我遇到了一些麻煩。這可能是我有三個遠程分支而不是一個的原因嗎?我只是添加了'閃存驅動器'作爲我的遙控器並推送到它。所以我知道這是最近的,但另外兩個是什麼?

回答

2

origin是克隆本地存儲庫的git遠程存儲庫的默認名稱。

  • remotes/origin/mastermaster分支從origin存儲庫。
  • remotes/origin/HEAD -> origin/master:在HEAD分支,一種分支即表示*當前分支**(其實這是不正確的,但它是一個有點複雜,看What is HEAD in Git?

顯然,最後一個分支,是遠程的master分支,位於您剛添加的遠程存儲庫上。

+0

所以「遙控器/原點/主」和「遙控器/原點/頭」目前是一樣的嗎? – David

+0

目前是。假設你有一個本地的bugfix分支和一個遠程的origin/bugfix分支,當你使用git checkout bugfix時,origin/HEAD默認是origin/bugfix,允許你執行git push bugfix:origin/HEAD 。 –

0

我剛加了'flashdrive'作爲我的遙控器並推送給它。所以我知道這是最近的,但另外兩個是什麼?

請注意,您的本地分支主服務器當前未跟蹤遠程主分支(remotes/flashdrive/masterremotes/origin/master)。
,可導致與最新git1.8.0一個問題:「Git 1.8.0: fatal: The current branch master has multiple upstream branches, refusing to push

remotes/origin/HEAD是一個象徵性的頭you can change
請參閱「How does origin/HEAD get set?」。

origin/HEAD代表遠程設備上的默認分支,即位於該遠程存儲庫中您稱爲原點的HEAD。

當你克隆你的repo時,你會默認檢出當前remotes/origin/HEAD所指的分支。

0

您可以通過運行

git remote -v 

看到遠程倉庫的詳細信息將列出庫以及它們實際上是。