Apa Itu Tag Git?
Git tag adalah petunjuk kepada komit tertentu. Ia seperti penanda buku. Anda boleh menggunakan jenis konvensyen yang anda mahu buat tag. Tetapi kebanyakan pasukan pembangunan menggunakan nombor versi seperti v1.0.1 atau v.1.1-a1 untuk membuat tag.
Membuat Tag
Terdapat dua jenis tag di Git:
- Teg Ringan
- Teg Beranotasi
Teg Ringan
Tanda ringan mudah dibuat. Anda hanya boleh menggunakan baris arahan berikut:
tag $ gitTag ini disimpan di .folder git dari repositori kerja anda.
Mari buat beberapa tag Git ringan:
$ git tag v1.0.1$ git tag Release-20190401
Dalam kes pertama, kami membuat tag dengan “v1.0.1 ". Dalam kes kedua, kami membuat tag dengan "Release-20190401". Teg ringan tidak mengembalikan nilai. Juga, penting untuk menunjukkan bahawa kerana kedua-dua tag ini dilakukan secara bergantian, mereka menunjukkan komitmen yang sama.
Teg Beranotasi
Teg beranotasi membolehkan anda menyimpan lebih banyak maklumat. Anda boleh menggunakan pilihan "-a" untuk membuat tag berikut:
$ git tag -aMari cuba buat teg beranotasi:
git tag -a v1.0.2Ini akan muncul tetingkap teks untuk anda memasukkan komen yang kelihatan seperti ini:
## Tulis mesej untuk teg:
# V1.0.2
# Garis yang bermula dengan '#' akan diabaikan.
Masukkan komen dan simpan. Jadi, sekarang tag anda v1.0.2 disimpan dengan komen. Sebagai alternatif, anda boleh memasukkan komen secara langsung di baris arahan seperti ini:
git tag -a v1.0.3 -m "Versi saya 1.0.3 "Mencari Tag dalam Kod Anda
Sekarang kita telah membuat beberapa tag, mari kita lihat apa yang kita ada:
$ git tag -lKeluaran-20190401
v1.0.1
v1.0.2
v1.0.3
Kami dapat melihat semua tag kami dipaparkan mengikut urutan abjad. Anda boleh mendapatkan lebih banyak maklumat mengenai tag dengan menggunakan “-n
Keluaran-20190401 Dikemas kini README.md
v1.0.1 Dikemas kini README.md
v1.0.2 Versi saya 1.0.2
v1.0.3 Versi saya 1.0.3
Di sini anda dapat melihat perbezaan antara tag ringan dan beranotasi. Dalam contoh ini, "Release-20190401" dan "v1.0.1 "adalah tanda ringan. The "v1.0.2 "dan" v1.0.3 "adalah tanda nama. Kesemuanya menunjukkan komit yang sama (komit 34671):
$ git logkomited 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (KETUA -> tuan, teg: v1.0.4)
Pengarang: Zak H
Tarikh: Sabtu 6 Apr 21:06:02 2019 -0700
Menambah Ciri 2
komited 161c6e564e79624623ed767397a98105426d0ec4
Pengarang: Zak H
Tarikh: Sabtu 6 April 21:05:25 2019 -0700
Menambah Ciri 1
komit 34671d824f9b9951e57f867998cb3c02a11c4805 (teg: v1.0.3, tag: v1.0.2,
teg: v1.0.1, tag: Keluaran-20190401)
Pengarang: Zak H
Tarikh: Sabtu 6 Apr 20:24:53 2019 -0700
README yang dikemas kini.md
komit afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (asal / tuan)
Pengarang: Zak H
Tarikh: Sabtu 6 Apr 20:23:55 2019 -0700
Di dalamnya
Walau bagaimanapun, tag ringan menunjukkan komen dari komit itu sendiri yang "Diperbarui README.md ”, sementara tag beranotasi menunjukkan komen individu yang ditambahkan pada mereka semasa proses pembuatan tag.
Petua: Sekiranya anda ingin mencari nombor komit dari tag tertentu, anda boleh menggunakan perintah "git show":
pertunjukan $ git v1.0.3teg v1.0.3
Tagger: Zak H
Tarikh: Sabtu 6 April 20:43:30 2019 -0700
Versi saya 1.0.3
komit 34671d824f9b9951e57f867998cb3c02a11c4805 (teg: v1.0.3, tag: v1.0.2, teg:
v1.0.1, tag: Keluaran-20190401)
Pengarang: Zak H
Tarikh: Sabtu 6 Apr 20:24:53 2019 -0700
README yang dikemas kini.md
diff --git a / BACA.md b / BACA.md
indeks 9daeafb… 180cf83 100644
--- a / BACA.md
+++ b / BACA.md
@@ -1 +1 @@
-ujian
+ujian2
Menandakan Komitmen Lebih Lama
Anda juga boleh kembali dan menandai komit yang lebih lama. Mari lihat log:
$ git log - talian106e0bb (KETUA -> tuan, teg: v1.0.4) Menambah Ciri 2
161c6e5 Menambah Ciri 1
34671d8 (teg: v1.0.3, tag: v1.0.2, tag: v1.0.1, tag: Release-20190401) Dikemas kini README.md
afe9b0c (asal / tuan) Init
$
Kami perhatikan bahawa komit 161c6e5 tidak mempunyai tag yang berkaitan. Kami boleh menandai komit ini seperti ini:
$ git tag -a Keluaran-20190402 161c6e5Ia akan muncul tetingkap komen. Setelah kami memberikan komen, kami dapat melihat bahawa kami mempunyai komitmen yang ditandai sekarang:
$ git tag -n1Keluaran-20190401 Dikemas kini README.md
Release-20190402 Menambah teg ke komit yang lebih lama
v1.0.1 Dikemas kini README.md
v1.0.2 Versi saya 1.0.2
v1.0.3 Versi saya 1.0.3
v1.0.4 Ciri Ditambah 2
Mengeluarkan Tag
Misalkan, anda memutuskan bahawa anda tidak mahu tag "Release-" kerana mereka membingungkan. Anda boleh menemui semua tag "Release-" terlebih dahulu:
$ git tag -l Keluaran *Keluaran-20190401
Keluaran-20190402
Sekarang, anda boleh menghapusnya dengan pilihan "-d":
$ git tag -d Keluaran-20190401Tag 'Release-20190401' yang dihapuskan (ialah 34671d8)
$ git tag -d Keluaran-20190402
Tag 'Release-20190402' yang dihapus (ialah 6ee37bc)
Sekiranya kita memeriksa tag lagi, kita hanya perlu melihat tag yang diawali dengan “v”:
$ git tag -n1v1.0.1 Dikemas kini README.md
v1.0.2 Versi saya 1.0.2
v1.0.3 Versi saya 1.0.3
v1.0.4 Ciri Ditambah 2
Menindih Teg
Andaikan, kita mempunyai situasi di mana “v1.0.Tanda 4 "menunjuk ke Ciri 2:
$ git log - taliand7b18a4 (HEAD -> master) Menambah Ciri 3
106e0bb (teg: v1.0.4) Menambah Ciri 2
161c6e5 Menambah Ciri 1
34671d8 (teg: v1.0.3, tag: v1.0.2, tag: v1.0.1) README yang dikemas kini.md
afe9b0c (asal / tuan) Init
Tetapi kami mahukan tanda “v1.0.4 "akan menunjuk pada Ciri 3. Sekiranya kami mencuba semula, kami mendapat ralat ini:
$ git tag v1.0.4 d7b18a4maut: tag 'v1.0.4 'sudah ada
Kita dapat mengatasi masalah ini dengan pilihan "-f":
$ git tag -f v1.0.4 d7b18a4Teg yang dikemas kini 'v1.0.4 '(ialah 106e0bb)
Sekiranya kita memeriksa log lagi, kita akan melihat bahawa tag telah beralih ke komit yang kita mahukan:
$ git log - taliand7b18a4 (KETUA -> tuan, tag: v1.0.4) Menambah Ciri 3
106e0bb Menambah Ciri 2
161c6e5 Menambah Ciri 1
34671d8 (teg: v1.0.3, tag: v1.0.2, tag: v1.0.1) README yang dikemas kini.md
afe9b0c (asal / tuan) Init
Sebagai alternatif, anda juga boleh menghapus teg dan menambahkannya semula ke komit baru.
Berkongsi Teg dengan Pengguna Lain
Apabila anda memasukkan kod anda ke repositori jauh anda, tag Git tidak akan didorong secara automatik. Sekiranya anda ingin berkongsi tag anda dengan pengguna lain, anda harus menolaknya secara eksklusif.
Tag boleh ditolak seperti ini:
$ git tolak asal v1.0.4Membilang objek: 12, selesai.
Pemampatan Delta menggunakan hingga 4 utas.
Memampatkan objek: 100% (4/4), selesai.
Objek penulisan: 100% (12/12), 902 bait | 150.00 KiB / s, selesai.
Jumlah 12 (delta 0), digunakan semula 0 (delta 0)
Kepada / Pengguna / zakh / _work / LearnGIT / git_tagging / remote / project_mayhem
* [tag baru] v1.0.4 -> v1.0.4
Sekarang, jika pengguna lain mengkloning repositori jarak jauh, mereka hanya akan melihat tag yang didorong (“v1.0.4 "dalam kes ini).
Menggunakan Cawangan vs Tag
Cabang berguna untuk ciri baru atau bereksperimen. Secara amnya, anda ingin bercabang apabila ada pekerjaan masa depan yang perlu dilakukan dan kerja itu mengganggu perkembangan semasa anda. Sebaliknya, teg lebih berguna sebagai tangkapan gambar. Anda harus menggunakannya untuk mengingat perkara-perkara tertentu yang telah anda lakukan.
Kesimpulannya
Git tag adalah ciri yang kurang digunakan yang dapat memberikan cara yang baik untuk melacak pelepasan dan ciri khas. Sekiranya anda membuat amalan yang baik di sekitar tag, ini dapat membantu anda berkomunikasi dengan pasukan pengembangan anda dengan mudah dan mempermudah proses pengembangan anda.
Sambung belajar:
- https: // git-scm.com / book / en / v2 / Git-Asas-Tagging
- https: // kejuruteraan perisian.pertukaran timbunan.com / soalan / 165725 / git-percabangan-dan-penandaan-amalan terbaik
- https: // www.atlassian.com / git / tutorial / memeriksa-a-repositori / git-tag
- https: // en.wikipedia.org / wiki / Perisian_versi
- https: // www.berteknologi.com / definisi / 25977 / perisian-versi