2010-10-18 88 views
19

是否有方法从特定代码中提取/获取代码。GIT从特定标记中提取/获取

我知道克隆后,我可以签出标签,但是可以在拉取过程中指定标签吗?

在ClearCase中,我可以重定位或提供特定的代码基准,是否有一种方法可以像使用git标签一样将代码拉到指定的标签?

回答

11

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

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

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

混帐拉命令的“refspec”部分是指你可以拉什么。

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

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

5

拉取是合并+。

说到如何获取一个特定的远程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>