从特定标签拉取/获取GIT

25

有没有一种方法可以从存储库中提取/拉取特定标记的代码。

我知道在克隆后,我可以检出标记,但是是否可以在pull期间指定标记?

在ClearCase中,我可以重新基于或传递特定基线的代码,是否有一种类似使用git标记的方式将代码拉/推送到指定的标记?


git fetch origin refs/tags/1.0.0:refs/tags/1.0.0 - 冒号的重复引用很重要,可以创建标签的本地引用。 - jozxyqk
2个回答

13

对于ClearCase而言,情况会有所不同,因为你只能将基线rebase到父分支上(尽管你可以将任何分支的基线交付到你的分支中)。
因此,在使用ClearCase进行合并时有一些限制。

而Git则可以将任何提交合并到当前分支的HEAD上。
如果该提交来自远程仓库,则会先在本地仓库的远程分支中导入该提交(即git pull的'fetch'部分),然后再进行合并。

 git pull [options] [<repository> [<refspec>…]]

在 git pull 命令中,"refspec" 部分表示您可以拉取任何内容。

<refspec> 可以命名一个任意的远程引用(例如标记名称)或甚至是一组具有相应的远程跟踪分支的引用(例如,refs/heads/:refs/remotes/origin/),但通常它是远程存储库中分支的名称。

另请参见如何使用指定的提交ID拉取远程分支?


6

拉取操作是获取(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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接