Git

Cara Menggunakan Tag Git untuk Meningkatkan Proses Pembangunan Anda

Cara Menggunakan Tag Git untuk Meningkatkan Proses Pembangunan Anda
Bagi kebanyakan pasukan pembangunan, Git telah menjadi alat penting untuk kawalan versi. Alasan besar untuk populariti Git adalah kemampuannya yang lancar untuk membuat cawangan. Pasukan pembangunan boleh menggunakan cawangan untuk mengerjakan ciri atau siaran tertentu. Walau bagaimanapun, tag Git adalah perintah yang sering diabaikan yang dapat membantu pasukan mempermudah aliran kerja mereka. Dalam artikel ini, kami akan menyelami apa, bagaimana dan mengapa penandaan Git.

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

Tanda ringan mudah dibuat. Anda hanya boleh menggunakan baris arahan berikut:

tag $ git

Tag 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 -a

Mari cuba buat teg beranotasi:

git tag -a v1.0.2

Ini 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 -l
Keluaran-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"Di mana bermaksud bilangan baris komen.

$ git tag -n1
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 log
komited 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.3
teg 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 - talian
106e0bb (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 161c6e5

Ia akan muncul tetingkap komen. Setelah kami memberikan komen, kami dapat melihat bahawa kami mempunyai komitmen yang ditandai sekarang:

$ git tag -n1
Keluaran-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-20190401
Tag '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 -n1
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

Menindih Teg

Andaikan, kita mempunyai situasi di mana “v1.0.Tanda 4 "menunjuk ke Ciri 2:

$ git log - talian
d7b18a4 (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 d7b18a4
maut: tag 'v1.0.4 'sudah ada

Kita dapat mengatasi masalah ini dengan pilihan "-f":

$ git tag -f v1.0.4 d7b18a4
Teg 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 - talian
d7b18a4 (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.4
Membilang 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
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...