Изтегляне на определен етикет с Git

Опитвам се да разбера как мога да изтегля определен таг от хранилище на Git - той е с една версия по-назад от текущата.

Видях, че на уебстраницата на git има таг за предишната версия, с име на обект нещо дълго шестцифрено число.

Но името на версията е "Tagged release 1.1.5" според сайта.

Опитах с подобна команда (с променени имена):

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

И наистина получих нещо - директория, няколко поддиректории и т.н.

Ако това'е цялото хранилище, как да стигна до версията, която'търся? Ако не, как да изтегля тази конкретна версия?

Решение
$ git clone

ще ви даде цялото хранилище.

След клонирането можете да направите списък на таговете с $ git tag -l и след това да изтеглите определен таг:

$ git checkout tags/

Още по-добре е да чекирате и да създадете клон (в противен случай ще се намирате в клон, кръстен на номера на ревизията на тага):

$ git checkout tags/ -b 
Коментари (18)

Не съм специалист по git, но мисля, че това би трябвало да работи:

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

ИЛИ

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

Вторият вариант създава нов клон въз основа на тага, което ви позволява да избегнете 'detached HEAD'. (git-checkout manual)

Всяко репо в git съдържа цялата история на ревизиите, така че клонирането на репото ви дава достъп до последния commit, плюс всичко, което е било преди това, включително тага, който търсите.

Коментари (3)

Можете да използвате git archive, за да изтеглите tar ball за даден таг или commit id:

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

Можете също така да експортирате zip архив на даден таг.

  1. Списък на таговете:

     git tag
    
     0.0.1
     0.1.0
  2. Експортирайте етикет:

     git archive -o /tmp/my-repo-0.1.0.zip --prefix=my-repo-0.1.0/ 0.1.0
  3. Забележки:

  • Не е необходимо да посочвате формата. Той ще бъде възприет от името на изходния файл.
  • Посочването на префикс ще накара кода ви да се експортира в директория (ако включите завършваща наклонена черта).
Коментари (7)