Saat ini saya sedang bekerja dengan repositori yang memiliki banyak cabang.
Ketika saya membuat tag, apakah tag itu merujuk ke cabang saat itu?
Dengan kata lain: Setiap kali saya membuat tag, apakah saya perlu beralih ke cabang yang diinginkan dan tag di dalam cabang itu sehingga tag merujuk ke cabang itu pada saat itu?
Tag dan cabang sama sekali tidak terkait, karena tag merujuk ke komit tertentu, dan cabang adalah referensi yang bergerak ke komit terakhir dari sejarah. Cabang pergi, tag tetap.
Jadi ketika Anda menandai sebuah komit, git tidak peduli komit atau cabang mana yang diperiksa, jika Anda memberinya SHA1 dari apa yang ingin Anda beri tag.
Saya bahkan dapat menandai dengan merujuk ke cabang (kemudian akan menandai ujung cabang), dan kemudian mengatakan bahwa ujung cabang ada di tempat lain (dengan
git reset --hard
misalnya), atau menghapus cabang. Namun tag yang saya buat tidak akan bergerak.sumber
Saat memanggil hanya
git tag <TAGNAME>
tanpa parameter tambahan, Git akan membuat tag baru dari HEAD Anda saat ini (yaitu HEAD dari cabang Anda saat ini). Saat menambahkan komit tambahan ke cabang ini, HEAD cabang akan mengikuti komit baru tersebut, sementara tag selalu merujuk ke komit yang sama.Saat menelepon,
git tag <TAGNAME> <COMMIT>
Anda bahkan dapat menentukan komit yang digunakan untuk membuat tag.Bagaimanapun juga, sebuah tag masih merupakan "pointer" ke komit tertentu (bukan cabang).
sumber
Kami dapat membuat tag untuk beberapa komitmen di masa lalu:
misalnya:
sumber
Jika Anda ingin menandai cabang tempat Anda berada, ketikkan:
dan dorong cabang dengan:
sumber
Jika Anda ingin membuat tag dari cabang yang merupakan sesuatu seperti
release/yourbranch
dll. Maka Anda harus menggunakan sesuatu sepertiSetelah membuat tag yang tepat jika Anda ingin mendorong tag ke jarak jauh, gunakan perintah
sumber