web-dev-qa-db-ja.com

特定のタグからのGITプル/フェッチ

リポジトリ内の特定のタグからコードをプル/フェッチする方法はありますか?.

クローン後、タグにチェックアウトできますが、プル中にタグを指定することは可能ですか?

ClearCaseでは、コードの特定のベースラインをリベースまたは配信できますが、指定したタグまでコードをプル/プッシュするのと同じようにgitタグを使用できる方法はありますか?

21
Senthil A Kumar

親ストリームで生成されたベースラインのみをリベースできるため、ClearCaseとは少し異なります(ただし、任意のストリームから任意のベースラインをストリームに配信できます)。
そのため、ClearCaseで行うマージの種類にはいくつかの制限があります。

Gitを使用すると、現在のブランチのHEADへのコミットをマージできます。
そのコミットがリモートリポジトリからのものである場合、最初にローカルリポジトリのリモートブランチにインポートされ(git pullの 'fetch'部分)、その後マージされます。

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

Git pullコマンドの「refspec」の部分は、何でもプルできることを意味します。

<refspec>は、任意のリモート参照(タグの名前など)または対応するリモート追跡ブランチを持つ参照のコレクション(refs/heads/:refs/remotes/Origin/など)に名前を付けることができますが、通常はリモートリポジトリのブランチ。

参照 指定されたコミットIDでリモートブランチをプルする方法

12
VonC

プルはフェッチ+マージです。

特定のリモート参照(タグまたはブランチのいずれか)をフェッチする方法について説明すると、おそらくこれを明確にするのに例が適しています。

git fetch Origin :refs/remotes/Origin/master

またはより短い形式:

git fetch Origin :remotes/Origin/master

これはremotes/Origin/masterはローカルで削除されました。

リモートタグから直接ローカルブランチを作成する別の例

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