2010-10-18 42 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>