4 min read

Cara Menggunakan Git Tag - Buat, Delete, Push ke Remote

Iman Sugirman

Penandaan GIT adalah mekanisme referensi titik dalam riwayat GIT. Tidak seperti cabang git, setelah Anda membuat tag git, ia tidak dapat diubah dan itu semacam SUPERPOWER-nya. Dalam proyek kehidupan nyata, ini digunakan untuk membuat titik referensi dalam sejarah GIT untuk rilis.

Posting blog ini akan menjadi panduan lengkap tentang cara membuat tag, daftar / tampilan tag, tag push git ke remote, git tag delete dari lokal dan jarak jauh.

"Git create tag" to create tag

git tag <tagname>

Perintah di atas dapat digunakan untuk membuat tag dengan mengganti <tagname> dengan nama tag yang sebenarnya. Berikut adalah contoh bagaimana seseorang dapat menggunakan perintah git ini dalam kehidupan nyata untuk membuat tag.

git tag v1.0

Buat tag dari Komit yang berbeda

Biasanya perintah di atas akan membuat tag pada komit yang dirujuk HEAD. Git juga memberi Anda fleksibilitas untuk membuat tag dari komit lainnya.

Anda cukup daftar semua komit dengan perintah "git log" dan pilih hash SHA. Berikan hash tertentu sebagai argumen di perintah git untuk membuat tag dari commit tertentu.

git tag v1.0 35a3a6c8e025da8fc6be5058fe6bc4024fd76642

Daftar / Lihat semua Tag Git yang tersedia

Contohnya seperti ini :

git tag

Ini adalah perintah yang digunakan untuk membuat daftar semua tag yang tersedia dalam sejarah GIT. Output dari perintah ini bisa berupa:

v1.0
v2.0
v2.5
v3.0

Opsi -l dapat ditambahkan ke perintah "git tag" untuk lebih mempersempit hasilnya jika Anda memiliki daftar besar tag. Misalnya, jika Anda hanya ingin melihat tag untuk v2.0 dan sub-rilis.

git tag -l "v2.*"
v2.0
v2.5

Git tag push ke remote

Mendorong tag di git ke remote sama dengan mendorong cabang ke remote git. Satu-satunya perbedaan adalah bahwa Anda perlu menyebutkan nama tag setelah perintah "git push" karena secara default perintah ini hanya mendorong cabang.

$ git push origin v1.0
Counting objects: 247, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (167/167), done.
Writing objects: 100% (247/247), 333.76 KiB | 27.81 MiB/s, done.
Total 247 (delta 75), reused 245 (delta 74)
remote: Resolving deltas: 100% (75/75), completed with 2 local objects.
To github.com:gulabbisht/drupixels.git
 * [new tag]               v1.0 -> v1.0

Dan jika Anda ingin mendorong semua tag dari lokal Anda ke remote kemudian tambahkan "--tags" ke perintah git dan itu akan mendorong semua tag ke remote :

git push origin --tags

Git hapus tag lokal

Menghapus tag Git di lokal semudah menghapus cabang git dan opsi yang baik untuk menghapus kekacauan.

Praktik terbaik untuk menghapus tag Git adalah dengan menjalankan perintah "tag git" untuk membuat daftar, mengidentifikasi tag yang ingin Anda hapus dan menjalankan perintah "tag git" dengan -d dan memberi tag sebagai argumen.

$ git tag
v1.0
v2.0
v2.5
v3.0
$ git tag -d v2.5
Deleted tag 'v2.5' (was aea93f1727)
$ git tag
v1.0
v2.0
v3.0

Git delete remote tag

Setelah tag dihapus dari lokal, langkah selanjutnya adalah menghapus tag dari jarak jauh dan ini dapat dilakukan dengan menggunakan perintah di bawah ini.

$ git push origin :refs/tags/v2.5
To git@github.com:gulabbisht/drupixels.git
 - [deleted]               v2.5

Git checkout tag

Terkadang Anda perlu checkout tag untuk melihat perubahan pada file. Anda dapat melakukannya dengan hanya menjalankan perintah git checkout <tagname> seperti di bawah ini.

$ git checkout v1.0
Checking out files: 100% (1146/1146), done.
Note: checking out 'v1.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at aea93f1727... Merge branch 'master' of github.com:bogordesain/projectshead

Seperti yang dapat Anda lihat di output dari perintah bahwa kita berada dalam keadaan 'kepala terpisah'. Ini berarti bahwa setiap pembaruan dalam kode dan kemudian komit tidak akan memperbarui tag, ingat itu SUPERPOWER. Sebagai gantinya, komit itu juga akan berperilaku seperti komit terpisah dan tidak dapat dirujuk ke cabang atau tag apa pun nanti kecuali jika Anda merujuk hash komit yang tepat.

Jika Anda ingin membuat perubahan setelah memeriksa tag maka praktik terbaik adalah membuat cabang baru darinya.

https://git-scm.com/book/en/v2/Git-Basics-Tagging https://www.atlassian.com/git/tutorials/inspecting-a-repository/git-tag