Cara Membuat dan Mengelola Git Tag
Membuat dan mengelola Git tag itu mudah. Mari kita uraikan jenis-jenis tag dan cara menerapkannya.
- Untuk menggunakan Git tag, Anda harus sudah menginstal Git di mesin Anda. Anda dapat membaca lebih lanjut tentang pemasangan Git di Git Install Tutorial.
- Prasyarat lainnya adalah memiliki repositori Git yang telah diinisialisasi. Anda dapat membaca lebih lanjut di How to Initialize and Set Up a Git Repository.
Membuat lightweight tag
Lightweight tag ibarat pointer ke sebuah commit. Tag ini tidak menyertakan metadata, hanya nama tag dan commit yang ditunjuk.
Untuk membuatnya, jalankan:
git tag v1.0.0
Perintah ini membuat lightweight tag yang menunjuk ke commit HEAD saat ini.
Anda juga bisa membuat tag untuk commit tertentu dengan memberikan hash commit:
git tag v1.0.0 5c5fc06
Lightweight tag berguna untuk referensi lokal yang cepat, terutama dalam proyek pengembangan solo atau pekerjaan sementara.
Membuat annotated tag
Annotated tag menyimpan lebih banyak informasi, seperti nama, email, tanggal, dan pesan pembuat tag. Tag ini disimpan sebagai objek Git penuh dan ideal untuk memberi tag pada rilis resmi atau tonggak.
Anda dapat membuatnya dengan menjalankan:
git tag -a v1.0.0 -m "Release version 1.0.0"
Perintah ini membuat annotated tag bernama v1.0.0 dengan pesan "Release version 1.0.0".
Anda juga bisa memberi tag pada commit tertentu:
git tag -a v1.0.0 5c5fc06 -m "Tagging older commit"
Annotated tag memberikan dokumentasi yang lebih baik, terintegrasi dengan baik ke alat CI/CD, dan membantu tim melacak riwayat dengan lebih transparan.
Memberi tag pada commit tertentu
Terkadang, Anda perlu memberi tag pada commit yang bukan yang terbaru. Untuk itu, Anda bisa terlebih dahulu mengambil riwayat commit lalu memilih hash commit yang ingin Anda beri tag.
Untuk mengambil hash commit, jalankan perintah berikut:
git log --oneline
Salin hash commit dari daftar, lalu:
git tag -a v1.0.0 <commit-hash> -m "Tagging v1.0.0 release"
Memverifikasi tag yang dibuat
Untuk menampilkan semua tag di repositori Anda, gunakan:
git tag
Jika Anda ingin memfilter tag, misalnya hanya versi yang diawali dengan v1., gunakan:
git tag -l 'v1.*'
Untuk melihat detail tentang tag tertentu, jalankan:
git show v1.0.0
Bekerja dengan Git Tag
Setelah membuat Git tag, Anda sering perlu membagikan, memperbarui, atau berinteraksi dengannya sebagai bagian dari alur kerja pengembangan atau rilis Anda. Bagian ini membahas tugas-tugas paling umum saat bekerja dengan tag di repositori lokal dan remote.
Mendorong tag ke repositori remote
Tag tidak otomatis terdorong ke repositori remote saat Anda menjalankan git push. Anda harus mendorongnya secara eksplisit.
Untuk mendorong satu tag:
git push origin v1.0.0
Untuk mendorong semua tag sekaligus:
git push --tags
Tag harus didorong agar rekan satu tim Anda atau pipeline CI/CD dapat mengaksesnya. Tag juga sering digunakan sebagai pemicu deployment, terutama mengikuti alur rilis berversi. Anda dapat membaca lebih lanjut tentang cara push dan pull branch di Git Push and Pull Tutorial.
Menghapus tag
Jika Anda ingin menghapus tag, Anda bisa melakukannya secara lokal dan remote.
Untuk menghapusnya secara lokal, jalankan:
git tag -d v1.0.0
Untuk kemudian menghapus tag yang sama dari repositori remote:
git push origin --delete v1.0.0
Anda juga bisa langsung menghapus tag dari antarmuka web GitHub atau GitLab.
>Jika Anda ingin mempelajari lebih lanjut tentang GitHub dan cara menggunakannya, saya sarankan kursus GitHub Foundations dan GitHub Concepts.
Checkout tag
Anda dapat melakukan checkout repositori ke kondisi dari tag tertentu dengan menjalankan:
git checkout v1.0.0
Namun, ini menempatkan Anda pada kondisi detached HEAD. Artinya Anda tidak berada di suatu branch, dan commit baru tidak akan menjadi milik branch mana pun kecuali Anda secara eksplisit membuatnya:
git checkout -b hotfix-v1.0.0
Melakukan checkout ke tag tertentu membantu debugging atau meninjau versi rilis tertentu tanpa memengaruhi branch pengembangan saat ini. Ini juga digunakan untuk membangun aplikasi produksi dari versi tertentu, misalnya saat perlu membangun image Docker.
Memberi tag setelah commit
Jika Anda perlu memperbarui tag, misalnya dengan mengarahkannya ke commit lain atau mengubah pesannya, Anda dapat memaksa pembaruan dengan menjalankan:
git tag -f -a v1.0.0 5c5fc06 -m "retagging"
Anda juga bisa menjalankan hal yang sama tanpa hash commit untuk sekadar menambahkan tag ke HEAD saat ini.
>Jika Anda memerlukan ringkasan cepat perintah Git tradisional, saya sarankan Complete Git Cheat Sheet.
Praktik Terbaik Menggunakan Git Tag
Mengetahui cara membuat dan mengelola tag adalah satu hal, namun menggunakannya secara efektif adalah hal lain. Jika digunakan dengan bijak, tag dapat meningkatkan alur kerja, dokumentasi, dan komunikasi tim Anda.
Menggunakan tag untuk penentuan versi
Tag sangat cocok untuk semantic versioning, yang merupakan cara yang direkomendasikan untuk memberi versi pada rilis Anda.
Dalam semantic versioning, nomor versi Anda mengikuti format MAJOR.MINOR.PATCH, misalnya v.1.2.0.
MAJOR untuk perubahan besar dan breaking changes, sementara MINOR untuk fitur yang baru ditambahkan, dan PATCH untuk perbaikan bug.
Semantic versioning sangat kuat. Ini mengomunikasikan cakupan perubahan dengan jelas, membantu pengembang memahami kompatibilitas, dan bekerja baik dengan alat otomatis seperti pemicu CI/CD.
Pegang konsistensi konvensi penamaan. Pilih pola (misalnya selalu diawali v) dan terapkan di semua rilis Anda.
Memberi tag pada rilis
Tag ideal untuk menandai tahap-tahap rilis utama dalam proyek Anda. Berikut beberapa jenis tag yang mungkin bermanfaat:
v1.0.0-alpha: Versi pengujian internalv1.0.0-beta: Rilis beta publikv1.0.0: Rilis produksi final
Dengan memberi tag pada tahap-tahap ini, Anda dapat lebih mudah membagikan build pengujian, melakukan rollback ke rilis sebelumnya, dan menjaga riwayat deployment produksi tetap rapi.
Anda dapat lebih meningkatkan proses dengan menggunakan annotated tag untuk rilis agar konteks dan dokumentasi terekam dengan baik.
Menghindari penggunaan tag berlebihan
Seberguna dan sekuat apa pun tag, tag bisa menjadi tidak berguna saat digunakan berlebihan. Tag sebaiknya hanya menandai titik-titik bermakna dalam riwayat proyek, seperti versi stabil, penyelesaian fitur besar, tonggak, atau tenggat.
Memberi tag pada setiap commit akan membuat repositori Anda berantakan dan menghilangkan tujuan navigasi cepat. Jaga agar tetap bersih dan terarah!
Patokan yang baik: jika Anda tidak akan melakukan deployment atau mengumumkannya, mungkin tidak perlu diberi tag.
Mengatasi Masalah Git Tag
Bahkan dengan praktik terbaik, Anda terkadang akan menemui masalah saat bekerja dengan Git tag, terutama saat bekerja dalam tim atau melakukan sinkronisasi dengan repositori remote. Bagian ini membahas cara menangani masalah paling umum.
Menangani kondisi detached HEAD
Saat Anda checkout tag tertentu menggunakan:
git checkout v1.0.0
Git menempatkan Anda pada kondisi HEAD terlepas, seperti disebutkan sebelumnya. Artinya Anda tidak berada pada sebuah branch, jadi jika Anda membuat commit, commit tersebut tidak akan masuk ke branch mana pun dan bisa hilang kecuali Anda bertindak.
Anda bisa memperbaikinya dengan membuat branch dengan menjalankan:
git checkout -b hotfix-v1.0.0
Sekarang Anda bekerja di sebuah branch dan dapat melakukan commit serta push perubahan seperti biasa.
Menyelesaikan konflik tag
Konflik dapat terjadi ketika nama tag yang sama menunjuk ke commit yang berbeda di lokal dan remote.
Ini sering terjadi ketika Anda menghapus dan membuat ulang tag secara lokal, atau orang lain melakukan force-push pada tag.
Ada dua opsi untuk menyelesaikan masalah tersebut.
Opsi 1: Hapus dan dorong ulang tag
git tag -d v1.0.0
git push origin --delete v1.0.0
git tag -a v1.0.0 -m "Corrected tag"
git push origin v1.0.0
Opsi 2: Force-push tag yang diperbarui
Jika Anda yakin tag lokal Anda yang benar, dan Anda memiliki izin:
git push origin -f v1.0.0
Namun berhati-hatilah dengan opsi ini, karena force-push dapat menimpa perubahan orang lain. Gunakan hanya saat Anda yakin atau setelah berkomunikasi dengan tim Anda.
Kesimpulan
Git tag adalah alat yang sangat kuat bila digunakan dengan bijak. Dalam tutorial ini, Anda telah mempelajari:
- Apa itu Git tag dan kapan menggunakannya
- Cara menerapkan Git tag di repositori Anda
- Praktik terbaik menggunakan Git tag
- Cara mengatasi masalah umum saat bekerja dengan Git tag
Baik saat merilis model machine learning, mendorong pembaruan ke produk data, atau berkolaborasi dalam tim, tag membantu Anda menandai momen bermakna dalam linimasa proyek. Tag menjaga semuanya tetap teratur, dapat direproduksi, dan mudah di-rollback atau dideploy.
Saya sangat bergantung pada Git tag. Tag menyelamatkan waktu saya berjam-jam dengan memungkinkan rollback ke versi stabil saat bug muncul atau memicu alur kerja CI/CD otomatis. Saya menggunakannya untuk memberi tag dan memberi versi pada image Docker untuk build produksi, memastikan semua yang saya kirim dapat dilacak dan terdokumentasi sepenuhnya.
Jadi mulailah menggunakan tag hari ini dan transformasikan alur kerja Git Anda!
FAQs
Untuk apa Git tag digunakan?
Git tag menandai titik-titik tertentu dalam riwayat repositori, sering kali untuk rilis atau tonggak penting.
Apa perbedaan antara lightweight dan annotated Git tag?
Lightweight tag adalah referensi sederhana ke sebuah commit, sedangkan annotated tag menyimpan metadata seperti penulis, tanggal, dan pesan.
Apa yang terjadi saat saya checkout tag di Git?
Anda masuk ke kondisi “detached HEAD”, artinya Anda tidak berada pada sebuah branch, dan commit apa pun tidak akan tersimpan ke branch kecuali Anda membuatnya.
Bagaimana cara membuat Git tag?
Gunakan git tag <tagname> untuk lightweight tag atau git tag -a <tagname> -m "message" untuk annotated tag.
Apakah Git tag umum digunakan dalam alur kerja CI/CD?
Ya. Tag dapat memicu build atau deployment otomatis dalam pipeline CI/CD, terutama saat memberi tag versi rilis.

Saya adalah Cloud Engineer dengan fondasi kuat di bidang Teknik Elektro, machine learning, dan pemrograman. Karier saya dimulai di ranah visi komputer dengan fokus pada klasifikasi citra, sebelum beralih ke MLOps dan DataOps. Saya mengkhususkan diri dalam membangun platform MLOps, mendukung data scientist, dan menghadirkan solusi berbasis Kubernetes untuk menyederhanakan alur kerja machine learning.

Saya seorang engineer machine learning. Jika ada satu hal penting yang saya pelajari, penentuan versi yang rapi bukan sekadar praktik yang baik. Itu krusial untuk reprodusibilitas dan kolaborasi.
Git tag penting untuk menandai kondisi stabil dalam kode. Tag membantu membuat rilis, melakukan rollback ke versi sebelumnya, atau berintegrasi dengan alur kerja CI/CD. Baik Anda mengerjakan kode, data, atau model machine learning baru, Git tag mempermudah pekerjaan Anda, apa pun latar belakang atau peran Anda.
Dalam tutorial ini, saya akan menjelaskan semua yang perlu Anda ketahui untuk menerapkan dan menguasai Git tag. Siap melihat bagaimana Git tag dapat menyederhanakan hidup pengembangan Anda? Mari kita mulai.
>Jika Anda ingin gambaran cepat tentang Git terlebih dahulu, saya sarankan membaca GitHub and Git Tutorial for Beginners.
Apa Itu Git Tag?
Git tag adalah cara sederhana namun kuat untuk menandai titik tertentu dalam riwayat proyek. Anggap saja seperti menempelkan catatan pada commit tertentu sambil berkata, “Ini penting.”
Git tag umumnya memberi label versi rilis, tonggak, atau checkpoint stabil di basis kode Anda. Tag merupakan referensi tetap ke commit tertentu namun tidak membuat commit baru. Setelah Anda menandai sebuah commit, label tersebut akan tetap melekat kecuali Anda memindahkan atau menghapus tag secara manual.
Branch master dengan dua Git tag. Gambar oleh penulis.
Ada dua jenis tag utama:
>Untuk mempelajari lebih lanjut tentang Git, saya sarankan mengecek kursus Foundations of Git atau Intermediate Git.