Tüm (hafif) etiketlerin oluşturulma tarihlerini göstermek için git komutu


186

Bana tüm git hafif etiketlerinin oluşturulduğu tarihleri ​​gösteren tek bir astar var mı?

Gibi bir şey: git show tags --format=date?



1
@jleedev: Hafif etiketler için bir çözüm arıyordum. Sorumu buna göre düzenleyeceğim.
Dror Cohen

Ayrıca bu S için olası ilgi: stackoverflow.com/questions/2021599/…
Steen

12
Hafif bir etikete eklenmiş tarih bilgisi yok. Bu nedenle, kabul edilen cevap yanlıştır. Çıktısındaki tarihler , etiketlerin kendilerinin oluşturulduğu tarihler değil , etiketlerin işaret git log --tags --simplify-by-decoration --pretty="format:%ai %d"ettiği nesnelerin tarihleridir.
jub0bs

2
@ Açıkçası, haklısın: Doğru cevap: "İstediğini yapmak imkansız". Ama muhtemelen OP'nin istediği buydu.
Ciro Santilli 法轮功 冠状 病 六四 事件 法轮功

Yanıtlar:


304

Bu linkte ihtiyaçlarımı karşılayan bir çözüm buldum:

git log --tags --simplify-by-decoration --pretty="format:%ai %d"

Bu komutu benim bir takma ada koydum ~/.alias, bu yüzden şimdi her çalıştırdığımda gitshowtagbydateihtiyacım olanı alıyorum.


8
Eğer böyle bir şey içindeyseniz, kronolojik bir düzen elde etmek için bunu sıralamaya değer.
cam8001

41
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d':-)
Noah Sussman

2
git log --decorate = full --all --pretty = biçim: '% s% d% s% cr% ae' --abbrev-commit | grep 'refs / tags'
sivann

49
Hafif bir etikete eklenmiş tarih bilgisi yok. Bu nedenle, bu cevap yanlış. Çıktısındaki tarihler , etiketlerin kendilerinin oluşturulduğu tarihler değil , etiketlerin işaret git log --tags --simplify-by-decoration --pretty="format:%ai %d"ettiği nesnelerin tarihleridir.
jub0bs

1
@Jubobs Eğer etiketleme sistemi gerçekleştirdiği ayrı gibi işlemek Maven veya örneğin bir versiyon dosyaya el ile yeni etiket sürümünü yazarsanız, bu mesele olmaz bir eğer hafif etiket veya açıklamalı etiket . Bunun nedeni, hafif etikete bağlı taahhüdün zaten geçerli tarih ve komisyon bilgilerini içermesidir.
ingyhere

61

git tag -lTüm etiketlerin bir listesini gösterir. Bağımsız --formatdeğişken, özel bir çıktı tanımlamak için kullanılabilir. Örneğin:

git tag -l --format='%(refname)   %(taggerdate)'

Aşağıdaki yorumlara dayanarak güncelleme yapın:

 git tag -l --sort=-creatordate --format='%(creatordate:short):  %(refname:short)'

13
Boru sınırlandırılmış, ISO 8601 tarih biçimlendirmesi, en sonda en üstte olacak şekilde sıralanmıştır. git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
ingyhere

14
taggerdateher zaman ayarlanmamıştır; deneyin creatordate.
9000

7
@ingyhere sürümü aradığım şeydi - git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r- zaman damgasını özelleştirmek için ref
revelt

1
@revelt git> = 2.0 bir sıralama parametresi sağlar. Sırayı tersine çevirmek için bir eksi koyun. git tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
con--

Göre git-for-each-refhangi nasıl formatbayrak belirler ve alanları oluşturur, bir ekleyebilir *nesneye etiket noktaları tarihinde yüzden almak fieldname önce. --format='%(*creatordate)'bunu denediğimde fark görmedim.
Cheruvim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.