2103 votes

Télécharger une balise spécifique avec Git

Je suis en train d'essayer de comprendre comment télécharger une balise particulière d'un dépôt Git - c'est une version antérieure à la version actuelle.

J'ai vu qu'il y avait un tag pour la version précédente sur le git de la page web, avec le nom de l'objet de quelque chose de long nombre hexadécimal.

Mais le nom de la version est "Tagged release 1.1.5", selon le site.

J'ai essayé avec une commande comme celle-ci (avec les noms ont été changés):

git clone http://git.abc.net/git/abc.git my_abc

Et j'ai eu quelque chose - un répertoire, un tas de sous-répertoires, etc.

Si c'est l'ensemble du référentiel, comment puis-je obtenir à la version que je suis en train de chercher? Si non, comment puis-je télécharger cette version?

3045voto

besen Points 10430

git clone vous donnera l'ensemble du référentiel.

Après le clone, vous pouvez lister les balises avec des git tag -l et ensuite récupérer une balise spécifique: git checkout tags/<tag_name>

444voto

Toni Points 211
git clone --branch my_abc http://git.abc.net/git/abc.git

Permet de cloner le repo et de vous laisser sur le tag qui vous intéresse.

Documentation pour 1.8.5.2 de git clone unis.

--la branche peut aussi prendre des balises et se détache de la TÊTE qui s'engagent dans le référentiel.

99voto

grossvogel Points 4562

Je ne suis pas un git expert, mais je pense que cela devrait fonctionner:

git clone http://git.abc.net/git/abc.git
cd abc
git checkout my_abc 

OU

git clone http://git.abc.net/git/abc.git
cd abc
git checkout -b new_branch my_abc

La deuxième variation sur la deuxième ligne établit une nouvelle branche en fonction de la balise, ce qui permet d'éviter un "détaché". (git-extraction manuelle)

Chaque repo git contient l'intégralité de l'historique de la révision, donc, de cloner le repo vous donne accès au dernier commit, plus tout ce qui est venu avant, y compris la balise que vous êtes à la recherche pour.

83voto

Chris J Points 3923

Vous pouvez utiliser git archive à télécharger un tar pour un tag donné ou de commettre id:

git archive --format=tar --remote=[hostname]:[path to repo] [tag name] > tagged_version.tar

Vous pouvez également exporter une archive zip d'une balise.

  1. Liste de tags:

    git tag
    
    0.0.1
    0.1.0
    
  2. Exportation d'un tag:

    git archive -o /tmp/my-repo-0.1.0.zip --prefix=my-repo-0.1.0/ 0.1.0
    
  3. Notes:

    • Vous n'avez pas besoin de spécifier le format. Il sera pris par le nom de fichier de sortie.
    • Spécifier le préfixe permet de rendre votre code d'exportation vers un répertoire (si vous incluez une barre oblique).

19voto

Peter Johnson Points 1156

Si vos balises sont triables à l'aide de linux sort de commande, utilisez ceci:

git tag | sort -n | tail -1

par exemple. si git tag retourne:

v1.0.1
v1.0.2
v1.0.5
v1.0.4

git tag | sort -n | tail -1 sortie:

v1.0.5

git tag | sort -n | tail -2 | head -1 sortie:

v1.0.4

(parce que vous avez demandé pour la deuxième la plus récente de la balise)

à la caisse de la balise, d'abord cloner le repo, puis tapez:

git checkout v1.0.4

..ou quelle que soit l'étiquette que vous avez besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X