有没有一种方法可以从存储库中提取/拉取特定标记的代码。
我知道在克隆后,我可以检出标记,但是是否可以在pull期间指定标记?
在ClearCase中,我可以重新基于或传递特定基线的代码,是否有一种类似使用git标记的方式将代码拉/推送到指定的标记?
对于ClearCase而言,情况会有所不同,因为你只能将基线rebase到父分支上(尽管你可以将任何分支的基线交付到你的分支中)。
因此,在使用ClearCase进行合并时有一些限制。
而Git则可以将任何提交合并到当前分支的HEAD
上。
如果该提交来自远程仓库,则会先在本地仓库的远程分支中导入该提交(即git pull
的'fetch
'部分),然后再进行合并。
git pull [options] [<repository> [<refspec>…]]
在 git pull 命令中,"refspec
" 部分表示您可以拉取任何内容。
<refspec>
可以命名一个任意的远程引用(例如标记名称)或甚至是一组具有相应的远程跟踪分支的引用(例如,refs/heads/:refs/remotes/origin/
),但通常它是远程存储库中分支的名称。
拉取操作是获取(fetch),然后合并(merge)或变基(rebase)。
谈论如何获取特定的远程引用(ref)(无论是标签还是分支),可能通过举个例子来更好地说明:
git fetch origin :refs/remotes/origin/master
或者更短的形式:
git fetch origin :remotes/origin/master
remotes/origin/master
,此方法仍然有效。git fetch <repo_url> +refs/tags/<TAG>:<branch>
git fetch origin refs/tags/1.0.0:refs/tags/1.0.0
- 冒号的重复引用很重要,可以创建标签的本地引用。 - jozxyqk