2012-11-02 206 views
0

今天我嘗試跟蹤遠程分支(具體Mapbox-IOS-SDK的23標註遠程Git分支

那麼,什麼是以下三個命令之間的區別:

git checkout remotes/origin/23-callouts

git checkout -b remotes/origin/23-callouts

git checkout -b 23-callouts remotes/origin/23-callouts

第一個命令給了我一個 「(無分支)」 我的塞康d命令實際上是我在第三條命令的意圖所在的地方犯的一個錯誤,我很驚訝它發生了,我不知道發生了什麼。第三個命令會給我所謂的「遠程追蹤分支」,但這與第二個或第一個有什麼不同?我也看到「git checkout -track」和第三個命令是一樣的嗎?

回答

1

您可以通過git help checkout & git help branch

git checkout remotes/origin/23-callouts 

嘗試找到了答案檢出名爲 '遙控器/產地/ 23-標註' 一個本地分支,所以這是不是你想要

git checkout -b remotes/origin/23-callouts 

嘗試在HEAD上創建一個名爲「遙控器/原點/ 23-callouts」的新本地分支。所以這不是你想要的。

git checkout -b 23-callouts remotes/origin/23-callouts 

嘗試根據遙控分支創建一個名爲'23 -callouts'的新本地分支。所以這是正確的

git checkout --track,它幾乎是相同的,因爲你有一個本地分支與遠程跟蹤,唯一的區別是本地分支的名稱。

git checkout --track remotes/origin/23-callouts 

與第三個命令相同。在當地的分行被命名爲23標註

通過第三個命令,你可以通過改變帕拉姆後-b

+0

所以,對於第2個命令,改變當地的分支機構的名稱,儘管名稱是「遙控器/產地/ 23-callouts「,它與遠程無關? – huggie

+0

@huggie正確。 –