Pertanyaan Bagaimana cara mendorong tag ke repositori jarak jauh menggunakan Git?


Saya telah mengkloning repositori Git jarak jauh ke laptop saya, kemudian saya ingin menambahkan tag, jadi saya berlari

git tag mytag master

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

Semuanya diperbarui

Dan jika saya pergi ke desktop saya dan jalankan git pull lalu git tag tidak ada tag yang ditampilkan.

Saya juga mencoba melakukan perubahan kecil pada file dalam proyek, lalu mendorongnya ke server. Setelah itu saya bisa menarik perubahan dari server ke komputer Desktop saya, tetapi masih belum ada tag ketika menjalankan git tag di komputer desktop saya.

Bagaimana saya bisa mendorong tag saya ke repositori jarak jauh sehingga semua komputer klien dapat melihatnya?


1543
2018-03-04 15:37


asal


Jawaban:


Untuk menekan a tunggal menandai:

git push origin <tag_name>

Dan perintah berikut harus mendorong semua tag (tidak disarankan):

git push --tags

2458
2018-03-04 15:40



git push --follow-tags

Ini adalah pilihan waras yang diperkenalkan di Git 1.8.3:

git push --follow-tags

Ini mendorong baik commit dan hanya tag yang keduanya:

  • beranotasi
  • terjangkau (leluhur) dari komitmen yang didorong

Ini waras karena:

Ini untuk alasan itu --tags harus dihindari.

Git 2.4 telah ditambahkan itu push.followTags opsi untuk mengaktifkan bendera itu secara default yang dapat Anda atur dengan:

git config --global push.followTags true

695
2017-10-18 09:12



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


228
2017-10-24 14:43



Untuk memperluas Jawaban Trevor, Anda dapat menekan satu tag atau semua tag Anda tag sekaligus.

Dorong Tag Tunggal

git push <remote> <tag>

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

git push [[<repository> [<refspec>…]]

<refspec>...

Format a <refspec> parameter adalah ... sumber referensi <src>,   diikuti oleh titik dua :, diikuti oleh ref tujuan <dst>...

Itu <dst> Memberitahu ref mana di sisi remote diperbarui dengan ini   mendorong ... Jika :<dst> dihilangkan, ref yang sama dengan <src> akan   diperbarui ...

menandai <tag> berarti sama dengan refs/tags/<tag>:refs/tags/<tag>.

Dorong Semua Tag Anda Sekaligus

git push --tags <remote>
# Or
git push <remote> --tags

Berikut ini adalah ringkasan dari dokumentasi yang relevan (beberapa opsi perintah dihilangkan untuk keringkasan):

git push [--all | --mirror | --tags] [<repository> [<refspec>…]]

--tags

Semua referensi di bawah refs/tags didorong, selain refspecs secara eksplisit   terdaftar di baris perintah.


74
2018-04-22 10:52



Anda dapat mendorong tag seperti ini git push --tags


41
2018-03-04 15:40



Tag tidak dikirim ke repositori jarak jauh dengan perintah push git. Kita perlu secara eksplisit mengirim tag ini ke server jauh dengan menggunakan perintah berikut:

git push origin <tagname>

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

git push origin --tags

Berikut adalah beberapa sumber daya untuk perincian lengkap tentang pemberian tag git:

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

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


38
2018-01-10 05:57



Anda dapat mendorong tag lokal Anda dengan mudah git push --tags perintah.

$ git tag                            # see tag lists
$ git push origin <tag-name>         # push a single tag
$ git push --tags                    # push all local tags 

13
2017-11-25 08:15



saya menggunakan git push <remote-name> tag <tag-name> 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
   ...
   <refspec>...
       ...
       tag <tag> means the same as refs/tags/<tag>:refs/tags/<tag>.

2
2018-04-18 18:24



Tolong jangan gunakan itu, jika Anda hanya mencari perintah karena tujuan utama solusi ini adalah untuk memperkenalkan Anda cara solusi!

Untuk membuat hidup lebih mudah - saya menulis skrip git-cheat-sheet , yang berisi beberapa perintah yang berguna, termasuk yang berikut:

./git_commands.sh -push_tag TAG_NAME


0
2018-06-19 16:07



Jika Anda bekerja di cabang:

git push --tags origin branch_name

-7
2018-04-26 15:39