Saya ingin git mendaftar semua tag bersama dengan penjelasan lengkap atau pesan komit. Sesuatu seperti ini sudah dekat:
git tag -n5
Ini melakukan persis apa yang saya inginkan kecuali bahwa itu hanya akan muncul hingga 5 baris pertama dari pesan tag.
Saya kira saya bisa menggunakan jumlah yang sangat besar. Berapa angka tertinggi yang bisa saya gunakan di sini? Apakah sama di setiap komputer?
UPDATE : Saya punya banyak waktu untuk memikirkan hal ini, dan sekarang saya pikir saya tidak perlu ingin menunjukkan keseluruhan dari setiap pesan jika beberapa di antaranya sangat panjang. Saya tidak benar-benar memiliki kebutuhan khusus yang mengharuskan saya untuk melihat pesan besar (selain kecenderungan saya sendiri untuk menjadi panjang lebar dalam semua yang saya tulis, termasuk pesan tag). Aku hanya tidak suka gagasan bahwa itu tidak harus menunjukkan kepadaku seluruh pesan, karena itu membuatku merasa seolah-olah menyembunyikan informasi dari saya. Tetapi terlalu banyak informasi juga bisa menjadi hal yang buruk.
git tag -n
melakukannya untuk sayagit tag -n
hanya mencetak baris pertama anotasi, menurut halaman manual.Jawaban:
Coba ini, ia akan mencantumkan semua tag bersama dengan anotasi & 9 baris pesan untuk setiap tag:
bisa juga digunakan
jika tag spesifik ingin dicantumkan:
(mis. perintah di atas hanya akan menampilkan tag yang dimulai dengan "v3.")
-l, --list daftar tag dengan nama yang cocok dengan pola yang diberikan (atau semua jika tidak ada pola yang diberikan). Menjalankan "git tag" tanpa argumen juga mencantumkan semua tag. Polanya adalah shell wildcard (yaitu, dicocokkan menggunakan fnmatch (3)). Beberapa pola dapat diberikan; jika ada yang cocok, tag ditampilkan.
sumber
-l
opsinya adalah untuk memfilter suatu pola. Saya tidak melihat bagaimana itu akan membantu di sini. Apakah saya melewatkan sesuatu?-l
ini benar-benar berlebihan di siniPendek dan manis. Ini akan mencantumkan hingga 99 baris dari setiap anotasi tag / komit pesan. Berikut ini tautan ke dokumentasi resmi untuk tag git .
Saya sekarang berpikir batasan hanya menampilkan hingga 99 baris per tag sebenarnya adalah hal yang baik karena sebagian besar waktu, jika benar-benar ada lebih dari 99 baris untuk satu tag, Anda tidak akan benar-benar ingin melihat semua sisa garis yang akan Anda? Jika Anda ingin melihat lebih dari 99 baris per tag, Anda selalu dapat meningkatkan ini ke jumlah yang lebih besar.
Maksud saya, saya kira mungkin ada situasi atau alasan tertentu untuk ingin melihat pesan tag besar, tetapi pada titik apa Anda tidak ingin melihat seluruh pesan? Kapan memiliki lebih dari 999 baris? 10.000? 1.000.000? Maksud saya adalah, biasanya masuk akal untuk memiliki batasan pada berapa banyak garis yang akan Anda lihat, dan nomor ini memungkinkan Anda untuk mengatur itu.
Karena saya membuat argumen untuk apa yang umumnya ingin Anda lihat ketika melihat tag Anda, mungkin masuk akal untuk menetapkan sesuatu seperti ini sebagai alias (dari komentar Iulian Onofrei di bawah):
git config --global alias.tags 'tag -n99'
Maksud saya, Anda tidak benar-benar ingin harus mengetik
git tag -n99
setiap kali Anda hanya ingin melihat tag Anda, bukan? Setelah alias itu dikonfigurasi, kapan pun Anda ingin melihat tag Anda, Anda cukup mengetikkangit tags
terminal Anda. Secara pribadi, saya lebih suka untuk mengambil langkah lebih jauh dari ini dan membuat alias bash lebih singkat untuk semua perintah saya yang biasa digunakan. Untuk tujuan itu, Anda bisa menambahkan sesuatu seperti ini ke file .bashrc Anda (berfungsi di Linux dan lingkungan serupa):alias gtag='git tag -n99'
Lalu setiap kali Anda ingin melihat tag Anda, Anda cukup mengetik
gtag
. Keuntungan lain dari menyusuri alias path (baik alias git atau alias bash atau apa pun) adalah Anda sekarang sudah memiliki tempat di mana Anda dapat menambahkan penyesuaian lebih lanjut untuk bagaimana Anda secara pribadi, umumnya ingin memiliki tag Anda ditampilkan kepada Anda (seperti menyortir mereka dengan cara tertentu seperti dalam komentar saya di bawah, dll). Setelah Anda cepat menciptakan alias pertama, Anda sekarang akan menyadari betapa mudahnya membuat lebih banyak untuk hal-hal lain yang Anda sukai untuk bekerja dengan cara yang disesuaikan, sepertigit log
, tetapi mari simpan itu untuk pertanyaan / jawaban yang berbeda. .sumber
git config --global alias.tags 'tag -n99'
alias gtag='git for-each-ref --format="%(refname:short) %(taggerdate) %(subject) %(body)" refs/tags | sort -V'
Jawaban Mark Longair (menggunakan
git show
) dekat dengan apa yang diinginkan dalam pertanyaan. Namun, itu juga termasuk komit yang ditunjukkan oleh tag, bersama dengan tambalan penuh untuk komit itu. Karena komit dapat agak tidak terkait dengan tag (hanya satu komit yang berusaha ditangkap oleh tag), ini mungkin tidak diinginkan. Saya percaya yang berikut ini sedikit lebih baik:sumber
Ini jauh dari cantik, tetapi Anda dapat membuat skrip atau alias yang melakukan sesuatu seperti ini:
sumber
git for-each-ref refs/tags/ --format='%(refname)'
dengangit tag -l
?git tag
adalah porselen dangit for-each-ref
pipa ledeng, jadi output dari yang terakhir harus lebih stabil untuk skrip.Hanya pesan tag terakhir:
sumber
git cat-file -p <tag> | tail -n +6
Gunakan opsi --format
sumber
Saya lebih suka melakukan ini pada baris perintah, tetapi jika Anda tidak keberatan dengan antarmuka web dan Anda menggunakan GitHub, Anda dapat mengunjungi
https://github.com/user/repo/tags
dan mengklik "..." di sebelah setiap tag untuk menampilkan anotasinya.sumber