Git

Cara Menggunakan Tag Git untuk Meningkatkan Proses Pengembangan Anda

Cara Menggunakan Tag Git untuk Meningkatkan Proses Pengembangan Anda
Untuk sebagian besar tim pengembangan, Git telah menjadi alat penting untuk kontrol versi. Alasan besar popularitas Git adalah kemampuannya yang mulus untuk membuat cabang. Tim pengembangan dapat menggunakan cabang untuk mengerjakan fitur atau rilis tertentu. Namun, tag Git adalah perintah yang sering diabaikan yang dapat membantu tim menyederhanakan alur kerja mereka. Dalam artikel ini, kita akan membahas tentang apa, bagaimana, dan mengapa pemberian tag Git.

Apa itu Git Tags??

Tag Git adalah penunjuk ke komit tertentu. Mereka seperti bookmark. Anda dapat menggunakan konvensi apa pun yang ingin Anda buat tag. Tetapi sebagian besar tim pengembangan menggunakan nomor versi seperti v1.0.1 atau v.1.1-a1 untuk membuat tag.

Membuat Tag

Ada dua jenis tag di Git:

Tag Ringan

Tag ringan mudah dibuat. Anda cukup menggunakan baris perintah berikut:

tag $git

Tag ini disimpan di .git folder repositori kerja Anda.

Mari buat beberapa tag Git ringan:

$git tag v1.0.1
$git tag Rilis-20190401

Dalam kasus pertama, kami membuat tag dengan "v1".0.1”. Dalam kasus kedua, kami membuat tag dengan "Release-20190401". Tag ringan tidak mengembalikan nilai apa pun. Juga, penting untuk menunjukkan bahwa karena kedua tag ini dilakukan secara berurutan, mereka menunjuk ke komit yang sama.

Tag beranotasi

Tag beranotasi memungkinkan Anda menyimpan lebih banyak informasi. Anda dapat menggunakan opsi “-a” untuk membuat tag ini:

$git tag -a

Mari kita coba membuat tag beranotasi:

git tag -a v1.0.2

Ini akan memunculkan jendela teks bagi Anda untuk memasukkan komentar yang akan terlihat seperti ini:

#
# Tulis pesan untuk tag:
#   v1.0.2
# Baris yang dimulai dengan '#' akan diabaikan.

Masukkan komentar dan simpan. Jadi, sekarang tag Anda v1.0.2 disimpan dengan komentar. Atau, Anda dapat langsung memasukkan komentar di baris perintah seperti ini:

git tag -a v1.0.3 -m "Versi saya 1.0.3"

Menemukan Tag di Kode Anda

Sekarang kita telah membuat beberapa tag, mari kita lihat apa yang kita miliki:

$git tag -l
Rilis-20190401
v1.0.1
v1.0.2
v1.0.3

Kami dapat melihat semua tag kami ditampilkan dalam urutan abjad. Anda bisa mendapatkan informasi lebih lanjut tentang tag dengan menggunakan “-n” dimana singkatan dari jumlah baris komentar.

$git tag -n1
Rilis-20190401 README yang Diperbarui.md
v1.0.1          README yang diperbarui.md
v1.0.2          Versi saya 1.0.2
v1.0.3          Versi saya 1.0.3

Di sini Anda dapat melihat perbedaan antara tag ringan dan beranotasi. Dalam contoh ini, "Rilis-20190401" dan "v1".0.1 ”adalah tag ringan. "v1".0.2" dan "v1".0.3” adalah tag beranotasi. Semuanya menunjuk ke komit yang sama (komit 34671):

$git log
komit 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, tag: v1.0.4)
Pengarang: Zak H
Tanggal:   Sab 6 Apr 21:06:02 2019 -0700
 
Ditambahkan Fitur 2
 
komit 161c6e564e79624623ed767397a98105426d0ec4
Pengarang: Zak H
Tanggal:   Sab 6 Apr 21:05:25 2019 -0700
 
Ditambahkan Fitur 1
 
komit 34671d824f9b9951e57f867998cb3c02a11c4805 (tag: v1.0.3, tag: v1.0.2,
tag: v1.0.1, tag: Rilis-20190401)
Pengarang: Zak H
Tanggal:   Sab 6 Apr 20:24:53 2019 -0700
 
README yang diperbarui.md
 
komit afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (asal/master)
Pengarang: Zak H
Tanggal:   Sab 6 Apr 20:23:55 2019 -0700
 
init

Namun, tag ringan menunjukkan komentar dari komit itu sendiri yaitu “README yang Diperbarui.md”, sementara tag beranotasi menunjukkan komentar individu yang ditambahkan ke mereka selama proses pembuatan tag.

Tip: Jika Anda ingin menemukan nomor komit dari tag tertentu, Anda dapat menggunakan perintah “git show”:

$git tampilkan v1.0.3
tandai v1.0.3
Tag: Zak H
Tanggal:   Sab 6 Apr 20:43:30 2019 -0700
 
versi saya 1.0.3
 
komit 34671d824f9b9951e57f867998cb3c02a11c4805 (tag: v1.0.3, tag: v1.0.2, tandai:
v1.0.1, tag: Rilis-20190401)
Pengarang: Zak H
Tanggal:   Sab 6 Apr 20:24:53 2019 -0700
 
README yang diperbarui.md
 
diff --git a/README.md b/BACA.md
indeks 9daeafb… 180cf83 100644
--- a/BACA.md
+++ b/BACA.md
@@ -1 +1 @@
-uji
+tes2

Menandai Komit Lama

Anda juga dapat kembali dan menandai komit yang lebih lama. Mari kita lihat log:

$git log --oneline
106e0bb (KEPALA -> master, tag: v1.0.4) Menambahkan Fitur 2
161c6e5 Menambahkan Fitur 1
34671d8 (tag: v1.0.3, tag: v1.0.2, tag: v1.0.1, tag: Rilis-20190401) README yang diperbarui.md
afe9b0c (asal/master) Init
$

Kami melihat bahwa komit 161c6e5 tidak memiliki tag terkait. Kita dapat menandai komit ini seperti ini:

$git tag -a Rilis-20190402 161c6e5

Ini akan memunculkan jendela komentar. Setelah kami memasukkan komentar, kami dapat melihat bahwa kami memiliki komit yang ditandai sekarang:

$git tag -n1
Rilis-20190401 README yang Diperbarui.md
Release-20190402 Menambahkan tag ke komit yang lebih lama
v1.0.1          README yang diperbarui.md
v1.0.2          Versi saya 1.0.2
v1.0.3          Versi saya 1.0.3
v1.0.4          Fitur Ditambahkan 2

Menghapus Tag

Misalkan, Anda memutuskan bahwa Anda tidak menginginkan tag "Rilis-" karena membingungkan. Pertama-tama Anda dapat menemukan semua tag “Rilis-“:

$git tag -l Rilis*
Rilis-20190401
Rilis-20190402

Sekarang, Anda dapat menghapusnya dengan opsi "-d":

$git tag -d Rilis-20190401
Tag 'Release-20190401' yang dihapus (sebelumnya 34671d8)
$git tag -d Rilis-20190402
Tag 'Release-20190402' yang dihapus (sebelumnya 6ee37bc)

Jika kita memeriksa tag lagi, kita hanya akan melihat tag yang dimulai dengan "v":

$git tag -n1
v1.0.1          README yang diperbarui.md
v1.0.2          Versi saya 1.0.2
v1.0.3          Versi saya 1.0.3
v1.0.4          Fitur Ditambahkan 2

Menimpa Tag

Misalkan, kita memiliki situasi di mana "v1".0.Tag 4” mengarah ke Fitur 2:

$git log --oneline
d7b18a4 (HEAD -> master) Menambahkan Fitur 3
106e0bb (tag: v1.0.4) Menambahkan Fitur 2
161c6e5 Menambahkan Fitur 1
34671d8 (tag: v1.0.3, tag: v1.0.2, tag: v1.0.1) README yang diperbarui.md
afe9b0c (asal/master) Init

Tapi kami ingin tag “v1.0.4 ”untuk menunjuk pada Fitur 3. Jika kami mencoba memberi tag ulang, kami mendapatkan kesalahan ini:

$git tag v1.0.4 d7b18a4
fatal: tag 'v1.0.4' sudah ada

Kami dapat mengatasi masalah ini dengan opsi "-f":

$git tag -f v1.0.4 d7b18a4
Tag yang diperbarui 'v1.0.4' (sebelumnya 106e0bb)

Jika kami memeriksa log lagi, kami melihat bahwa tag telah pindah ke komit yang kami inginkan:

$git log --oneline
d7b18a4 (KEPALA -> master, tag: v1.0.4) Menambahkan Fitur 3
106e0bb Menambahkan Fitur 2
161c6e5 Menambahkan Fitur 1
34671d8 (tag: v1.0.3, tag: v1.0.2, tag: v1.0.1) README yang diperbarui.md
afe9b0c (asal/master) Init

Atau, Anda juga dapat menghapus tag dan menambahkannya kembali ke komit baru.

Berbagi Tag dengan Pengguna Lain

Saat Anda memasukkan kode ke repositori jarak jauh, tag Git tidak terdorong secara otomatis. Jika Anda ingin membagikan tag Anda dengan pengguna lain, Anda harus mendorongnya secara eksklusif.

Tag dapat didorong seperti ini:

$git Dorong Asal v1.0.4
Menghitung benda: 12, selesai.
Kompresi delta menggunakan hingga 4 utas.
Mengompresi objek: 100% (4/4), selesai.
Objek penulisan: 100% (12/12), 902 byte | 150.00 KiB/s, selesai.
Total 12 (delta 0), digunakan kembali 0 (delta 0)
Kepada /Users/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 hal ini).

Menggunakan Cabang vs Tag

Cabang berguna untuk fitur baru atau bereksperimen. Umumnya, Anda ingin bercabang ketika ada pekerjaan di masa depan yang perlu dilakukan dan pekerjaan itu mengganggu perkembangan Anda saat ini. Di sisi lain, tag lebih berguna sebagai snapshot. Anda harus menggunakannya untuk mengingat hal-hal tertentu yang telah Anda lakukan.

Kesimpulannya

Tag Git adalah fitur yang kurang dimanfaatkan yang dapat memberikan cara yang bagus untuk melacak rilis dan fitur khusus. Jika Anda menyiapkan praktik yang baik di sekitar tag, ini dapat membantu Anda berkomunikasi dengan mudah dengan tim pengembangan dan menyederhanakan proses pengembangan Anda.

Pelajaran lanjutan:

  • https://git-scm.com/book/en/v2/Git-Basics-Tagging
  • https://rekayasa perangkat lunak.pertukaran tumpukan.com/questions/165725/git-branching-and-tagging-best-practices
  • https://www.atlassian.com/git/tutorials/inspecting-a-repository/git-tag
  • https://en.wikipedia.org/wiki/Software_versioning
  • https://www.techopedia.com/definition/25977/versi perangkat lunak
Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...
Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...