Dalam konfigurasi git remote default Anda harus mendorong tag secara eksplisit (ketika mereka diambil secara otomatis bersama dengan komit yang mereka tuju). Anda harus menggunakan
$ git push <remote> tag <tagname>
untuk mendorong satu tag, atau
$ git push <remote> --tags
untuk mendorong semua tag (atau git push --tags
untuk mendorong remote standar, biasanya origin
).
Ini adalah perilaku yang sangat dimaksudkan, untuk membuat tag mendorong secara eksplisit. Tag pendorong biasanya merupakan pilihan sadar.
Meringkas apa yang ditulis Junio C. Hamano (ditautkan dalam komentar oleh @Andre Miras)
Saat mengambil, Anda berinteraksi dengan repositori jarak jauh yang telah diterbitkan seseorang, yang berarti:
- set tag yang ada di sana adalah semua penerbit ingin orang melihat, dan
- tidak hanya Anda tetapi orang lain juga akan melihat tag yang sama.
Dengan kata lain, tag dalam repositori yang Anda ambil dirancang untuk publik dan dibagikan. Ini akan memfasilitasi komunikasi antar pengembang jika mudah bagi semua orang untuk mengambil tag yang sama ini.
Itulah sebabnya git fetch
tag "mengikuti" secara otomatis, yaitu mengunduh tag saat mengunduh revisi yang mereka tunjukkan - dengan kata lain mengunduh semua tag yang diterbitkan yang relevan .
Saat mendorong, Anda mendorong dari repositori kerja Anda, yang sebagian besar waktu tidak publik, dan tag di repositori itu tidak dirancang untuk publik. Anda dapat menggunakan tag lokal Anda sendiri untuk menandai kemajuan Anda, jadi tidak masuk akal untuk mendorong secara membabi buta semua tag dalam repositori ke repositori yang Anda dorong untuk mempublikasikan perubahan Anda, yang tag-nya adalah definisi publik.
Itu sebabnya Anda perlu mendorong tag secara eksplisit, untuk menandai tag sebagai publik.
Atau Anda dapat mengkonfigurasi jarak jauh yang Anda dorong untuk selalu mendorong semua tag, mis. Letakkan sesuatu seperti itu di .git/config
:
[remote "publish"] # atau apa pun namanya
url = ...
push = + referensi / kepala / *: referensi / kepala / *
push = + ref / tag / *: ref / tag / *
Ini berarti paksa dorong semua kepala (semua cabang) dan semua tag (jika Anda tidak ingin memaksa mendorong kepala, hapus awalan '+' dari refspec).
git push --follow-tags
sekarang dapat bermanfaat, lihat jawaban saya di bawah ini