perintah git untuk menampilkan semua tanggal pembuatan tag (ringan)


186

Apakah ada satu liner yang menunjukkan tanggal di mana semua tag ringan git dibuat?

Sesuatu seperti: git show tags --format=date?



1
@ jleedev: Saya mencari solusi untuk tag ringan. Saya akan mengedit pertanyaan saya sesuai.
Dror Cohen

Mungkin juga menarik untuk Q ini: stackoverflow.com/questions/2021599/…
Steen

12
Tidak ada informasi tanggal yang dilampirkan pada tag yang ringan. Karena itu, jawaban yang diterima salah. Tanggal dalam output git log --tags --simplify-by-decoration --pretty="format:%ai %d"adalah tanggal dari objek yang ditunjuk oleh tag, bukan tanggal saat tag itu sendiri dibuat.
jub0bs

2
@Jubobs secara tegas, Anda benar: jawaban yang benar adalah: "Tidak mungkin melakukan apa yang Anda inginkan". Tapi itu kemungkinan yang diinginkan OP.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Jawaban:


303

Saya menemukan di tautan ini solusi yang sesuai dengan kebutuhan saya:

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

Saya telah memasukkan perintah itu ke dalam alias ~/.alias, jadi sekarang setiap kali saya menjalankan, gitshowtagbydatesaya mendapatkan apa yang saya butuhkan.


8
Sebaiknya perpipaan ini menjadi semacam untuk mendapatkan urutan kronologis, jika Anda menyukai hal semacam itu.
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 = format: '% h% d% s% cr% ae' --abbrev-commit | grep 'ref / tag'
sivann

49
Tidak ada informasi tanggal yang dilampirkan pada tag yang ringan. Karenanya, jawaban ini salah. Tanggal dalam output git log --tags --simplify-by-decoration --pretty="format:%ai %d"adalah tanggal dari objek yang ditunjuk oleh tag, bukan tanggal saat tag itu sendiri dibuat.
jub0bs

1
@Jubobs Jika sistem penandaan Anda melakukan komit terpisah, seperti Maven , atau jika Anda menulis versi tag baru secara manual ke file versi, misalnya, itu tidak masalah apakah itu tag yang ringan atau tag yang beranotasi . Itu karena komit yang ditautkan dengan tag ringan akan memuat informasi tanggal dan pengalih saat ini.
ingyhere

61

Itu git tag -lmenunjukkan daftar semua tag. The --formatargumen dapat digunakan untuk menentukan output kustom. Sebagai contoh:

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

Perbarui, berdasarkan komentar di bawah ini:

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

13
Pipa dibatasi, iso 8601 format tanggal, disortir dengan yang terbaru di atas. git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
ingyhere

14
taggerdatetidak selalu diatur; coba creatordate.
9000

7
@ versi di mana adalah hal yang saya cari - git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r- ref untuk menyesuaikan cap waktu
kembalilah

1
@revelt git> = 2.0 menyediakan param semacam. Masukkan tanda minus untuk membalik urutan. git tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
con--

Menurut git-for-each-refbagaimana formatflag menentukan dan merender bidang, Anda bisa menambahkan *sebelum nama field sehingga Anda mendapatkan pada tanggal objek yang ditunjuk tag. --format='%(*creatordate)'walaupun saya tidak melihat perbedaan ketika saya mencoba ini.
Cheruvim
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.