我在遠程repo上有兩個分支 - master和development。爲什麼git checkout創建一個跟蹤遠程分支的分支?
現在,在克隆存儲庫之後,我只在名爲master
的唯一本地分支上。在git checkout development
之後,這是我得到的消息:
分支機構開發設置爲跟蹤遠程分支機構從原點開發。 切換到一個新的分支「發展」
究竟是怎麼回事?我沒有指定-b
標誌來創建一個新的本地分支。如果我做git checkout adasdasd
而不是,我得到error: pathspec 'asdasdasd' did not match any file(s) known to git.
,這是有道理的。但它只是一些默認的git行爲(如果在checkout中指定的名稱與遠程分支相匹配,則創建本地分支)?
總之它看起來像git checkout development
,第一次運行,實際上執行git checkout -b development origin/development
。
爲什麼你會想要一個與遠程分支名稱相同的本地分支,但*不*跟蹤遠程分支?當你使用像git這樣的版本控制系統時,已經有很多混亂的可能,爲什麼要創建更多? – Caleb
@Caleb,因爲遠程分支被稱爲「開發」 - 它可能很難避免使用的名稱?請記住,可能有幾百個分支機構在幾個有其他人想要在本地使用的名稱的遙控器上。 – jwg