2013-05-17 53 views
6

我們有一個名爲deploy的遠程分支,用於構建和測試部署腳本。毫不奇怪,部署腳本最終會放在名爲deploy的目錄中。現在目錄deploy位於分支master中,當執行初始克隆時,實際檢出該分支很麻煩。如何git簽出一個名稱與目錄相同的遠程分支?

$ git clone bitbucket.org:/myplace/mything 
$ cd mything 
$ ls 
deploy   extensions  installExtensions src   tests 
$ git branch -r | grep dep 
    origin/deploy 
$ git checkout deploy 
$ git branch 
* master 
$ git checkout origin/deploy 
Note: checking out 'origin/deploy'. 

You are in 'detached HEAD' state. [SNIP] 

在這一點上我應該只是創建一個名爲deploy一個本地分支,將其設置爲跟蹤遠程?有沒有我可以給git任何語法,所以它知道我想簽出遠程分支,而不是本地路徑?

回答

9

你可以簡單地創建一個新的本地分支指向使用這些命令的遠程分支(後者會立即檢查出來):

git branch deploy origin/deploy 
git checkout -b deploy origin/deploy 

然而,這將不設置跟蹤功能, Git自動爲遠程分支創建分支時發生。要做到這一點,你必須做到以下幾點:

git branch -u origin/deploy 

作爲替代方案,你可以做到這一切在一個單一的命令,這是相同的什麼混帳會自動完成:

git checkout -b deploy --track origin/deploy 
0

我的解決辦法因爲這是

git checkout deploy --

相關問題