2010-12-02 88 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