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:
Saya telah memasukkan perintah itu ke dalam alias ~/.alias, jadi sekarang setiap kali saya menjalankan, gitshowtagbydatesaya mendapatkan apa yang saya butuhkan.
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)'
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.
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.Jawaban:
Saya menemukan di tautan ini solusi yang sesuai dengan kebutuhan saya:
Saya telah memasukkan perintah itu ke dalam alias
~/.alias
, jadi sekarang setiap kali saya menjalankan,gitshowtagbydate
saya mendapatkan apa yang saya butuhkan.sumber
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d'
:-)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.Itu
git tag -l
menunjukkan daftar semua tag. The--format
argumen dapat digunakan untuk menentukan output kustom. Sebagai contoh:Perbarui, berdasarkan komentar di bawah ini:
sumber
git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
taggerdate
tidak selalu diatur; cobacreatordate
.git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r
- ref untuk menyesuaikan cap waktugit tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
git-for-each-ref
bagaimanaformat
flag 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.