Dalam repositori saya, saya telah membuat tag menggunakan perintah berikut.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Bagaimana Anda mendaftar semua tag di repositori?
Dalam repositori saya, saya telah membuat tag menggunakan perintah berikut.
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Bagaimana Anda mendaftar semua tag di repositori?
Jawaban:
git tag
Seharusnya cukup. Lihat git tag
halaman manual
Anda juga memiliki:
git tag -l <pattern>
Daftar tag dengan nama yang cocok dengan pola yang diberikan (atau semua jika tidak ada pola yang diberikan).
Mengetik "git tag" tanpa argumen, juga mencantumkan semua tag.
Baru-baru ini (" Bagaimana cara mengurutkan git tag? ", Untuk Git 2.0+)
git tag --sort=<type>
Sortir dalam urutan tertentu.
Jenis yang didukung adalah:
- "
refname
" (urutan leksikografis),- "
version:refname
" atau "v:refname
" (nama tag diperlakukan sebagai versi).Tambahkan "-" untuk membalik urutan.
Itu daftar keduanya:
Catatan: artikel siap git tentang penandaan tidak menyetujui tag ringan.
Tanpa argumen, tag git menciptakan tag "ringan" yang pada dasarnya adalah cabang yang tidak pernah bergerak.
Tag ringan masih berguna, mungkin untuk menandai versi yang dikenal baik (atau buruk), atau banyak komitmen yang mungkin perlu Anda gunakan di masa depan.
Meskipun demikian, Anda mungkin tidak ingin mendorong tag semacam ini .Biasanya, Anda ingin setidaknya memberikan opsi -a untuk membuat tag yang tidak ditandatangani, atau menandatangani tag dengan kunci GPG Anda melalui opsi -s atau -u.
Yang sedang berkata, Charles Bailey menunjukkan bahwa ' git tag -m "..."
' sebenarnya menyiratkan tag (opsi -a
) yang tepat (tanpa tanda tangan ), dan bukan yang ringan. Jadi Anda baik dengan perintah awal Anda.
Ini berbeda dari:
git show-ref --tags -d
Yang mencantumkan tag dengan komit mereka (lihat " Daftar Tag Git, tampilkan komit hash hash ").
Perhatikan -d
untuk melakukan dereferensi objek tag beranotasi (yang memiliki komit SHA1 sendiri) dan menampilkan komit yang ditandai.
Demikian pula, git show --name-only <aTag>
akan mencantumkan tag dan komit terkait.
Juga git show-ref
agak berguna, sehingga Anda dapat langsung mengaitkan tag dengan komitmen koresponden :
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
saya suka itu git show-ref
memberi saya tag DAN revisi.
Dan inilah cara Anda menemukan tag jarak jauh:
git ls-remote --tags origin
Cobalah untuk membuat git tag
harus cukup jika tidak mencoba untuk membuat git fetch
kemudian git tag
.
git tag
perintah harus cukup jika Anda hanya ingin melihat daftar tag yang tersedia. Jika Anda tidak dapat melihat beberapa tag yang Anda yakini ada di remote, maka tag lokal Anda mungkin tidak sinkron dengan remote. Dalam hal ini, ambil referensi / kepala terbaru dari jarak jauh terlebih dahulu git fetch
, diikuti oleh yang sebenarnya git tag
. Saya biasanya menjalankan one-liner seperti ini: $ git fetch -p && git tag
hanya untuk memastikan saya melihat yang terbaru dan terhebat.
Mendaftar tag yang tersedia di Git sangat mudah. Cukup ketik git tag
(dengan opsional -l
atau --list
).
$ git tag
v5.5
v6.5
Anda juga dapat mencari tag yang cocok dengan pola tertentu.
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
Mendapatkan tag terbaru di repositori git
Perintah menemukan tag terbaru yang dapat dijangkau dari komit. Jika tag menunjuk ke komit, maka hanya tag yang ditampilkan. Jika tidak, suffix nama tag dengan jumlah komit tambahan di atas objek yang ditandai dan nama objek yang disingkat dari komit terbaru.
git describe
Dengan --abbrev
set to 0
, perintah dapat digunakan untuk menemukan yang terdekat tagname
tanpa akhiran:
git describe --abbrev=0
Contoh lain:
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
Cara memangkas tag git lokal yang tidak ada pada remote
Sederhananya, jika Anda mencoba melakukan sesuatu seperti git fetch -p -t
, itu tidak akan bekerja dimulai dengan versi git 1.9.4
.
Namun, ada solusi sederhana yang masih berfungsi di versi terbaru:
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.
Untuk melihat detail tentang tag terbaru yang tersedia, saya terkadang menggunakan:
git show `git describe` --pretty=fuller
Jika Anda ingin memeriksa nama tag Anda secara lokal, Anda harus pergi ke jalur tempat Anda membuat tag (jalur lokal). Berarti di mana Anda telah meletakkan benda Anda. Kemudian ketik perintah:
git show --name-only <tagname>
Ini akan menampilkan semua objek di bawah nama tag itu. Saya bekerja di Teradata dan objek berarti tampilan, tabel, dll
Anda dapat mencantumkan semua tag yang ada git tag
atau Anda dapat memfilter daftar tersebut git tag -l 'v1.1.*'
, yang *
berfungsi sebagai wildcard. Ini akan mengembalikan daftar tag yang ditandai v1.1
.
Anda akan melihat bahwa ketika Anda menelepon git tag
Anda tidak bisa melihat isi dari anotasi Anda. Untuk melihat mereka, Anda harus menambahkan -n
perintah Anda: git tag -n2
.
$ git tag -l -n2
v1.0 Versi rilis 1.0
v1.1 Versi rilis 1.1
Perintah ini mencantumkan semua tag yang ada dengan maksimum 3 baris pesan tag mereka. Secara default -n
hanya menampilkan baris pertama. Untuk info lebih lanjut, pastikan untuk memeriksa artikel terkait tag ini juga.