24

有没有办法从回购中的特定标签中提取/获取代码。

我知道克隆后,我可以签出标签,但是否可以在拉取期间指定标签?

在 ClearCase 中,我可以重新设置或交付特定的代码基线,有没有一种方法可以类似地使用 git 标签来将代码拉/推到指定的标签?

4

2 回答 2

13

这与 ClearCase 会有些不同,因为您只能重新设置在父 Stream 上生成的基线(尽管您可以将任何基线从任何 Stream 传递到您的 Stream)。
因此,您使用 ClearCase 进行的合并类型存在一些限制。

使用 Git,您可以将任何提交合并到HEAD当前分支的。
如果该提交来自远程存储库,它将首先导入本地存储库的远程分支(“ fetch”部分git pull),然后合并。

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

git pull 命令的 " refspec" 部分意味着你可以拉任何东西。

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

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

于 2010-10-19T04:12:15.023 回答
6

拉取,然后合并或变基。

谈论如何获取特定的远程引用(标签或分支),可能一个示例可以更好地阐明这一点:

git fetch origin :refs/remotes/origin/master

或者更短的形式:

git fetch origin :remotes/origin/master

请注意,即使remotes/origin/master已在本地删除,这也有效。

另一个直接从远程标签创建本地分支的示例

git fetch <repo_url> +refs/tags/<TAG>:<branch>
于 2012-04-24T02:00:56.063 回答