Tutorial Git #13: Menggunakan Git Tag untuk Versi Project
Jika kamu bekerja dengan git dalam sebuah tim dan belum menggunakan tag, siap-siap bingung nantinya saat mau rollback.
Kenapa?
Biar lebih gampang, saya akan berikan contoh kasus.
Di sebuah proyek, biasanya branch yang udah stabil akan di merge ke branch main. Nah, biasanya juga kode yang di branch main dipakai untuk production.
Misalnya, di deploy ke server production..
..atau dipakai buat build binary production.
Masalahnya:
Jika terjadi masalah dari hasil build tersebut, kita akan melakukan rollback ke versi stabil sebelumnya.
Tetapi, karena saking banyaknya branch yang di merge ke main, kita jadi bingung mau rollback ke commit yang mana.
Belum lagi kita juga udah lupa, commit yang di-deploy terakhir yang mana.
Semua commit di Git menggunakan hash, belum lagi commit message-nya ga jelas.
Bingung kan?
Makannya kita butuh git tag untuk menandai sebuah commit.
Oke, jadi dalam tutorial ini.. kita akan mempelajari:
- Apa itu git tag?
- Cara membuat tag di Git?
- Cara berpidah/rollback ke tag
- Cara push tag ke remote repository
- Cara menghapus tags
Mari kita mulai!
Apa itu Git Tag?
Git Tag itu ibarat bookmark atau label yang kita tempelkan pada commit tertentu.
Biasanya kita menggunakan tag untuk memberi versi pada aplikasi,
misalnya: v1.0, v2.1, v1.0-beta, dsb.
Format penomoran versi ini biasanya mengikuti aturan Semver (Semantic Versioning).
Membuat Tag di Git
Ada dua jenis tag di Git:
- Lightweight Tags: Tag yang cuma bookmark saja. (seperti pointer yang tidak berubah).
- Annotated Tags: Tag yang menyimpan informasi tambahan seperti nama pembuat tag, email, dan tanggal.
Cara membuatnya gampang.
Untuk membuat Lightweight Tag, jalankan perintah:
git tag v1.0.0Tag v1.0.0 akan dibuat pada commit terakhir (HEAD).
Sedangkan untuk membuat Annotated Tag, kita perlu menambahkan opsi -a dan -m untuk pesannya.
Contoh:
git tag -a v1.0.1 -m "Rilis versi 1.0.1"Untuk melihat daftar tag yang sudah dibuat, gunakan perintah git tag.
$ git tag
v1.0.0
v1.0.1Checkout/Berpindah ke Tag
Kita bisa kembali melihat kode pada versi tertentu dengan checkout ke tag-nya.
Caranya:
git checkout v1.0.0atau bisa juga menggunakan git switch:
git switch --detach v1.0.0Catatan: Saat checkout ke tag, kita akan masuk ke mode “Detached HEAD”. Artinya kita sedang tidak berada di branch manapun. Kalau mau edit-edit di sini, sebaiknya buat branch baru.
Push Tag ke Remote
Tag yang sudah kita buat di komputer lokal, tidak akan otomatis terkirim ke remote repository (seperti Github/Gitlab) saat melakukan git push.
Kita harus mengirimnya secara manual.
Caranya:
git push origin v1.0.0Atau kalau mau kirim semua tag sekaligus:
git push origin --tagsMenghapus Tag
Kalau salah bikin tag, hapus saja.
Caranya:
git tag -d v1.0.0Tanda -d artinya delete.
Kalau tag-nya sudah terlanjur di-push ke remote, kita juga perlu menghapusnya dari sana.
Caranya:
git push --delete origin v1.0.0Apa Selanjutnya?
Kita sudah belajar cara menggunakan Git Tag untuk menandai versi rilis.
Intinya:
- Pakai
git taguntuk buat tag. - Pakai
git checkoutuntuk pindah ke tag. - Pakai
git push --tagsuntuk upload tag.
Selanjutnya, kamu bisa pelajari tentang cara membuat release di Github agar kodemu bisa didownload orang lain.
Selamat belajar!