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

Sen*_*mar 20 git git-pull git-fetch

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

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

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

Von*_*onC 12

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

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

 git pull [options] [<repository> [<refspec>…]]
Run Code Online (Sandbox Code Playgroud)

refspecgit pull命令的" "部分意味着你可以拉任何东西.

<refspec>可以命名的任意远程REF(例如,标签名称)或与相应的远程跟踪分支参考文献的甚至一个集合(例如,refs/heads/:refs/remotes/origin/),但通常它是在远程存储库的分支的名称.

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


rye*_*nus 5

Pull是fetch + merge.

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

git fetch origin :refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

或者更短的形式:

git fetch origin :remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

请注意,即使remotes/origin/master已在本地删除它也可以.

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

git fetch <repo_url> +refs/tags/<TAG>:<branch>
Run Code Online (Sandbox Code Playgroud)