W moim repozytorium utworzyłem tagi przy użyciu następujących poleceń.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Jak wyświetlić wszystkie tagi w repozytorium?
W moim repozytorium utworzyłem tagi przy użyciu następujących poleceń.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Jak wyświetlić wszystkie tagi w repozytorium?
Odpowiedzi:
git tag
powinno wystarczyć. Zobacz stronę podręcznika git tag
man
Masz także:
git tag -l <pattern>
Wyświetl tagi z nazwami pasującymi do podanego wzorca (lub wszystkich, jeśli nie podano wzorca).
Wpisanie „git tag” bez argumentów zawiera także listę wszystkich tagów.
Niedawno („ Jak sortować tagi git? ”, Dla Git 2.0+)
git tag --sort=<type>
Sortuj w określonej kolejności.
Obsługiwany typ to:
- „
refname
” (porządek leksykograficzny),- „
version:refname
” lub „v:refname
” (nazwy znaczników są traktowane jak wersje).Wstaw „”, aby odwrócić porządek sortowania.
Zawiera zarówno:
Zanotuj artykuł Git Ready dotyczący tagowania odrzuca lekki tag.
Bez argumentów git tag tworzy „lekki” tag, który jest w zasadzie gałęzią, która nigdy się nie porusza.
Lekkie tagi są jednak nadal przydatne, być może do oznaczania znanej dobrej (lub złej) wersji lub szeregu zmian, które mogą być potrzebne w przyszłości.
Niemniej jednak prawdopodobnie nie chcesz wypychać tego rodzaju tagów .Zwykle chcesz przynajmniej przekazać opcję -a, aby utworzyć niepodpisany znacznik, lub podpisać znacznik kluczem GPG za pomocą opcji -s lub -u.
Biorąc to pod uwagę, Charles Bailey zwraca uwagę, że „ git tag -m "..."
” w rzeczywistości oznacza właściwy (niepodpisany) tag (opcja „-a
”), a nie lekki. Więc jesteś dobry w swoim pierwszym poleceniu.
Różni się to od:
git show-ref --tags -d
Która zawiera listę znaczników z ich zatwierdzeniami (patrz „ Lista znaczników Git, wyświetl skróty zatwierdzenia sha1 ”).
Zwróć uwagę na to -d
, aby wyrejestrować obiekt znacznika z adnotacjami (który ma własne zatwierdzenie SHA1) i wyświetlić rzeczywiste oznakowane zatwierdzenie.
Podobnie git show --name-only <aTag>
wyświetlałby tag i powiązane zatwierdzenie.
git show-ref
Jest również przydatny, ponieważ można bezpośrednio powiązać tagi z odpowiednimi zatwierdzeniami :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
podoba mi się, że git show-ref
daje mi tag ORAZ wersję.
A oto jak znaleźć zdalne tagi:
git ls-remote --tags origin
Spróbuj zrobić git tag
to powinno wystarczyć, jeśli nie starają się git fetch
potem git tag
.
git tag
polecenia powinno wystarczyć, jeśli chcesz zobaczyć listę dostępnych tagów. Jeśli nie widzisz niektórych tagów, które Twoim zdaniem mogą istnieć na zdalnie, oznacza to, że tagi lokalne mogą nie być zsynchronizowane z pilotem. W takim przypadku najpierw pobierz najnowsze referencje / głowice zdalne git fetch
, a następnie rzeczywiste git tag
. Zwykle prowadzę jedno-liniowy projekt: $ git fetch -p && git tag
tylko dla pewności, że patrzę na najnowsze i najlepsze.
Lista dostępnych tagów w Git jest prosta. Po prostu wpisz git tag
(z opcjonalnym -l
lub --list
).
$ git tag
v5.5
v6.5
Możesz także wyszukiwać tagi pasujące do określonego wzorca.
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
Pobieranie najnowszego tagu w repozytorium git
Polecenie znajduje najnowszy znacznik, który jest dostępny z zatwierdzenia. Jeśli znacznik wskazuje na zatwierdzenie, pokazany zostanie tylko znacznik. W przeciwnym razie, sufiks nazwy znacznika zawiera liczbę dodatkowych zatwierdzeń na górze oznaczonego obiektu i skróconą nazwę obiektu ostatniego zatwierdzenia.
git describe
Przy --abbrev
ustawieniu na 0
to polecenie może być użyte do znalezienia najbliższego tagname
bez żadnego przyrostka:
git describe --abbrev=0
Inne przykłady:
git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch
Jak przycinać lokalne tagi git, które nie istnieją na pilocie
Mówiąc najprościej, jeśli próbujesz zrobić coś takiego git fetch -p -t
, nie będzie działać, zaczynając od wersji git 1.9.4
.
Istnieje jednak proste obejście, które nadal działa w najnowszych wersjach:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
Aby zobaczyć szczegóły na temat najnowszego dostępnego tagu, którego czasami używam:
git show `git describe` --pretty=fuller
Jeśli chcesz sprawdzić nazwę tagu lokalnie, musisz przejść do ścieżki, w której utworzyłeś tag (ścieżka lokalna). Oznacza, gdzie umieściłeś swoje przedmioty. Następnie wpisz polecenie:
git show --name-only <tagname>
Wyświetli wszystkie obiekty pod tą nazwą znacznika. Pracuję w Teradata, a obiekt oznacza widok, tabelę itp
Możesz wyświetlić listę wszystkich istniejących tagów git tag
lub przefiltrować listę git tag -l 'v1.1.*'
, gdzie *
działa jak symbol wieloznaczny. Zwróci listę tagów oznaczonych v1.1
.
Zauważysz, że kiedy zadzwonisz git tag
, nie zobaczysz treści swoich adnotacji. Aby je obejrzeć należy dodać -n
do polecenia: git tag -n2
.
$ git tag -l -n2
Wersja 1.0 Wydanie 1.0
Wersja 1.1 Wersja 1.1
Polecenie wyświetla listę wszystkich istniejących znaczników wraz z maksymalnie 3 liniami ich komunikatu znacznika. Domyślnie -n
pokazuje tylko pierwszą linię. Aby uzyskać więcej informacji, sprawdź również ten artykuł związany z tagiem .