Sto cercando di capire come posso scaricare un tag particolare di un repository Git - è una versione dietro la versione corrente.
Ho visto che c'era un tag per la versione precedente sulla pagina web di git, con il nome dell'oggetto di qualcosa di lungo numero esagonale.
Ma il nome della versione è "Tagged release 1.1.5
" secondo il sito.
Ho provato un comando come questo (con i nomi cambiati):
git clone http://git.abc.net/git/abc.git my_abc
E ho ottenuto qualcosa - una directory, un mucchio di sottodirectory, ecc.
Se è l'intero repository, come faccio a raggiungere la versione che sto cercando? Se no, come faccio a scaricare quella particolare versione?
$ git clone
ti darà l'intero repository.
Dopo il clone, puoi elencare i tag con $ git tag -l
e poi fare il checkout di un tag specifico:
$ git checkout tags/<tag_name>
Ancora meglio, fai il checkout e crea un ramo (altrimenti ti troverai su un ramo che prende il nome dal numero di revisione del tag):
$ git checkout tags/<tag_name> -b <branch_name>
Non sono un esperto di git, ma penso che questo dovrebbe funzionare:
git clone http://git.abc.net/git/abc.git
cd abc
git checkout my_abc
O
git clone http://git.abc.net/git/abc.git
cd abc
git checkout -b new_branch my_abc
La seconda variazione stabilisce un nuovo ramo basato sul tag, che permette di evitare un 'HEAD'staccato. (manuale di git-checkout)
Ogni repo git contiene l'intera storia di revisione, quindi la clonazione del repo ti dà accesso all'ultimo commit, più tutto ciò che è venuto prima, compreso il tag che stai cercando.
Puoi usare git archive per scaricare una palla di tar per un dato tag o id di commit:
git archive --format=tar --remote=[hostname]:[path to repo] [tag name] > tagged_version.tar
Puoi anche esportare un archivio zip di un tag.
Elenca i tag:
git tag
0.0.1
0.1.0
Esportare un tag:
git archive -o /tmp/my-repo-0.1.0.zip --prefix=my-repo-0.1.0/ 0.1.0
Note: