2010-12-02 90 views
127

如何檢出rspec bundle的版本版本/標記1.1.4?切換到另一個Git標記

cd ~/Library/Application\ Support/TextMate/Bundles/ 
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle 
osascript -e 'tell app "TextMate" to reload bundles' 

回答

233

克隆庫正常:

git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle 

然後簽出你想要的標籤,像這樣:

git checkout tags/1.1.4 

這將簽出一個「分離的頭」狀態的標籤。在這種狀態下,「你可以環顧四周,進行實驗性修改並提交它們,並且在不影響任何分支的情況下[放棄這些提交]」。

要保留所做的任何更改,將其移動到一個新的分支:使用

git checkout -b 1.1.4-jspooner 

你可以回到master分支:

git checkout master 

注意,因爲在第一次被提及這個答案的修改,還有另一種方法來結帳標籤:

git checkout 1.1.4 

但正如在com中提到的換貨,如果您有由同一名稱的分支,這將導致混帳警告您refname是模糊的,默認情況下檢出的分支:

warning: refname 'test' is ambiguous. 
Switched to branch '1.1.4' 

速記可以,如果存儲庫不被安全使用在分支和標籤之間共享名稱。

+71

對於駕駛者來說,這個答案是不明確的。如果有一個分支和一個名爲`1.1.4`的標籤。 Git會檢出分支,而不是標籤。要顯式簽出標籤,請執行以下操作:`git checkout tags/1.1.4` – ocodo 2013-08-17 02:36:32