jsp*_*ner 159 git github git-tag
如何查看rspec软件包的版本/标签1.1.4 ?
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'
Run Code Online (Sandbox Code Playgroud)
Fak*_*hid 296
正常克隆存储库:
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
Run Code Online (Sandbox Code Playgroud)
然后签出你想要的标签:
git checkout tags/1.1.4
Run Code Online (Sandbox Code Playgroud)
这将以"分离的HEAD"状态签出标签.在这种状态下,"您可以环顾四周,进行实验性更改并提交它们,并[丢弃这些提交],而不会通过执行另一次结账来影响任何分支".
要保留所做的任何更改,请将它们移动到新分支:
git checkout -b 1.1.4-jspooner
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令返回主分支:
git checkout master
Run Code Online (Sandbox Code Playgroud)
请注意,正如本答案的第一个修订版中所提到的,还有另一种方法可以检出标记:
git checkout 1.1.4
Run Code Online (Sandbox Code Playgroud)
但正如在评论中提到的,如果你有一个同名的分支,这将导致git警告你refname是不明确的并默认检查分支:
warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'
Run Code Online (Sandbox Code Playgroud)
如果存储库不在分支和标记之间共享名称,则可以安全地使用速记.
chh*_*vey 28
从Git v2.23.0(2019 年 8 月)开始,git switch
比git checkout
简单地切换分支/标签更受欢迎。我猜他们这样做是因为git checkout
有两个功能:切换分支和恢复文件。因此,在 v2.23.0 中,他们添加了两个新命令git switch
、 和git restore
来分离这些问题。我会预测在未来的某个时刻,git checkout
会被弃用。
要切换到普通分支,请使用git switch <branch-name>
. 要切换到类似提交的对象,包括单个提交和标签,请使用git switch --detach <commitish>
,其中<commitish>
是标签名称或提交编号。
该--detach
选项迫使您认识到您正处于“检查和可丢弃的实验”模式中。要从您要切换到的提交创建一个新分支,请使用git switch -c <new-branch> <start-point>
.