GIT从特定标签中提取/提取

时间:2010-10-18 23:47:34

标签: git git-pull git-fetch

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

我知道在克隆之后,我可以结帐到标签,但是可以在拉动期间指定标签吗?

在ClearCase中,我可以重新定义或提供特定的代码基线,有没有一种方法可以使用git标签,类似于将代码拉/推到指定的标签?

2 个答案:

答案 0 :(得分:12)

与ClearCase略有不同,因为您只能重新生成父流上生成的基线(尽管您可以将任何流的任何基线传送到您的流)。
因此,使用ClearCase进行合并的方式存在一些限制。

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

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

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

  

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

另见How to pull remote branch with specified commit id?

答案 1 :(得分:5)

Pull是fetch + merge。

谈到如何获取特定的远程引用(标记或分支),可能一个例子更好地澄清这一点:

git fetch origin :refs/remotes/origin/master

或缩短形式:

git fetch origin :remotes/origin/master

请注意,即使已在本地删除remotes/origin/master,此功能仍然有效。

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

git fetch <repo_url> +refs/tags/<TAG>:<branch>