Bagaimana anda mendorong tag ke remote repository dengan menggunakan Git?

Saya telah kloning remote repositori Git untuk laptop saya, kemudian saya ingin menambahkan tag jadi aku berlari

git tag mytag master

Ketika saya menjalankan git tag di laptop saya tag mytag ditampilkan. Saya kemudian ingin mendorong ini ke remote repository jadi saya memiliki tag ini pada semua klien saya, jadi saya jalankan git push` tapi aku mendapat pesan:

Segala sesuatu yang up-to-date

Dan jika saya pergi ke desktop dan menjalankan git menarik dan kemudian git tag tidak ada kategori yang akan ditampilkan.

Saya juga telah mencoba untuk melakukan sebuah perubahan kecil pada file dalam proyek, maka push ke server. Setelah itu aku bisa menarik perubahan dari server ke komputer Desktop, tetapi ada's masih ada tag ketika menjalankan git tag` pada komputer desktop.

Bagaimana saya bisa mendorong saya tag ke remote repository agar semua komputer klien dapat melihatnya?

Untuk mendorong tunggal tag:

git push origin 

Dan berikut perintah yang harus push semua tags (tidak dianjurkan):

git push --tags
Komentar (7)
Larutan

git push-ikuti-tag

Ini adalah waras pilihan diperkenalkan di Git 1.8.3:

git push --follow-tags

Hal itu mendorong keduanya melakukan dan hanya kategori yang kedua:

  • beranotasi
  • terjangkau (nenek moyang) dari mendorong komit

Ini adalah waras karena:

  • anda hanya harus mendorong dijelaskan kategori ke remote, dan tetap ringan tag untuk pembangunan lokal untuk menghindari tag bentrokan. Lihat juga: https://stackoverflow.com/questions/11514075
  • tidak't mendorong dijelaskan kategori di cabang-cabang terkait

Hal ini untuk alasan-alasan yang --tag harus dihindari.

Git 2.4 menambahkan push.followTags pilihan untuk mengubah bendera yang secara default yang anda dapat mengatur dengan:

git config --global push.followTags true
Komentar (7)

Untuk mendorong tertentu, satu tag lakukan berikut git push origin tag_name

Komentar (0)

Untuk memperluas Trevor's jawaban, anda dapat mendorong sebuah tag tunggal atau semua dari anda kategori sekaligus.

Push Tunggal Tag

git push  

Ini adalah ringkasan dari dokumentasi yang relevan yang menjelaskan ini (beberapa pilihan perintah dihilangkan untuk singkatnya):

git push [[ [...]]

... format `` parameter…sumber ref `<src>`, diikuti oleh titik dua `:`, diikuti oleh tujuan ref ``…

<dst> yang menceritakan ref pada sisi remote diperbarui dengan ini push…Jika :<dst> dihilangkan, sama wasit sebagai <src> akan update…

tag <tag> berarti sama dengan ref/tag/<tag>:ref/tag/<tag>.

Mendorong Semua Kategori Sekaligus

git push --tags 
# Or
git push  --tags

Berikut adalah ringkasan dari dokumentasi yang relevan (beberapa pilihan perintah dihilangkan untuk singkatnya):

git push [- semua | --mirror | --kategori] [ [...]]

--kategori Semua ref bawah ref/kategori didorong, selain refspecs secara eksplisit tercantum pada baris perintah.

Komentar (4)

Kategori tidak dikirim ke remote repository dengan perintah git push. Kita perlu secara eksplisit mengirim tag ini ke remote server dengan menggunakan perintah berikut:

git push origin 

Kita dapat mendorong semua kategori sekaligus dengan menggunakan perintah di bawah ini:

git push origin --tags

Berikut ini adalah beberapa sumber daya untuk menyelesaikan rincian pada git tag:

http://www.cubearticle.com/articles/more/git/git-tag

http://wptheming.com/2011/04/add-remove-github-tags

Komentar (0)

Anda dapat mendorong tag seperti ini git push-tags

Komentar (0)

Anda dapat mendorong semua kategori hanya git push-tags perintah.

$ git tag                         # see tag lists
$ git push origin       # push a single tag
$ git push --tags                 # push all local tags 
Komentar (0)

Saya menggunakan git push <remote-nama> tag <tag-nama> untuk memastikan bahwa saya mendorong tag. Saya menggunakannya seperti: git push origin tag v1.0.1. Pola ini didasarkan pada dokumentasi (man git-push):

OPTIONS
   ...
   ...
       ...
       tag  means the same as refs/tags/:refs/tags/.
Komentar (1)