Pertanyaan Bagaimana cara menghapus tag git remote?


Bagaimana Anda menghapus tag git yang telah didorong?


2123
2018-03-29 23:41


asal


Jawaban:


Anda hanya perlu memasukkan referensi 'kosong' ke nama tag jarak jauh:

git push origin :tagname

Atau, lebih ekspresif, gunakan --delete opsi (atau -d jika versi git Anda lebih lama dari 1.8.0):

git push --delete origin tagname

Jika Anda juga perlu menghapus tag lokal, gunakan:

git tag --delete tagname

Latar Belakang

Mendorong cabang, tag, atau ref lain ke repositori jarak jauh melibatkan menentukan "push where, what source, what destination?"

git push where-to-push source-ref:destination-ref

Contoh dunia nyata di mana Anda mendorong cabang master Anda ke cabang master asal adalah:

git push origin refs/heads/master:refs/heads/master

Yang karena jalur default, dapat disingkat menjadi:

git push origin master:master

Tag bekerja dengan cara yang sama:

git push origin refs/tags/release-1.0:refs/tags/release-1.0

Yang juga dapat disingkat menjadi:

git push origin release-1.0:release-1.0

Dengan menghilangkan sumber ref (bagian sebelum titik dua), Anda mendorong 'tidak ada' ke tujuan, menghapus ref pada ujung remote.


3499
2018-03-29 23:45



Cara yang lebih mudah adalah

git push --delete origin YOUR_TAG_NAME

IMO prefixing colon syntax sedikit aneh dalam situasi ini


243
2017-10-09 00:47



Jika Anda memiliki tag jarak jauh v0.1.0 untuk menghapus, dan remote Anda origin, maka sederhananya:

git push origin :refs/tags/v0.1.0

Jika Anda juga perlu menghapus tag secara lokal:

git tag -d v0.1.0

Lihat Adam Francojawabannya untuk penjelasan tentang Git yang tidak biasa : sintaks untuk penghapusan.


133
2017-07-21 16:14



Hapus semua tag lokal dan dapatkan daftar tag jarak jauh:

git tag -l | xargs git tag -d
git fetch

Hapus semua tag jarak jauh

git tag -l | xargs -n 1 git push --delete origin

Bersihkan tag lokal

git tag -l | xargs git tag -d

72
2018-04-02 02:26



Untuk menghapus tag dari repositori jarak jauh:

git push --delete origin TAGNAME

Anda mungkin juga ingin menghapus tag secara lokal:

git tag -d TAGNAME

26
2017-09-04 10:30



Dari terminal Anda, lakukan ini:

git fetch
git tags
git tag -d {tag-name}
git push origin :refs/tags/{tag-name}

Sekarang buka Github.com dan segarkan, mereka menghilang.


17
2018-06-27 13:23



Perhatikan bahwa, jika Anda memiliki cabang jarak jauh yang disebut sebagai tag jarak jauh, perintah ini tidak jelas:

git push origin :tagname
git push --delete origin tagname

Jadi Anda harus menggunakan perintah ini untuk menghapus tag:

git push origin :refs/tags/<tag>

dan yang ini untuk menghapus cabang:

git push origin :refs/heads/<branch>

Jika tidak, Anda akan mendapatkan kesalahan seperti ini:

error: dst refspec <tagname> matches more than one.
error: failed to push some refs to '<repo>'

12
2018-05-05 17:28



Jika Anda telah membuat tag bernama release01 dalam repositori Git Anda akan menghapusnya dari repositori Anda dengan melakukan hal berikut:

git tag -d release01 
git push origin :refs/tags/release01 

Untuk menghapus satu dari repositori Mercurial:

hg tag --remove featurefoo

Silakan referensi https://confluence.atlassian.com/pages/viewpage.action?pageId=282175551


8
2017-11-11 05:54



Hapus tag lokal '12345'

git tag -d 12345

Hapus tag jarak jauh '12345' (mis., Versi GitHub juga)

git push origin :refs/tags/12345

pendekatan alternatif

git push --delete origin tagName
git tag -d tagName

enter image description here


5
2018-03-23 09:50



Jawaban lain menunjukkan cara untuk mencapai ini, tetapi Anda harus mengingat konsekuensinya karena ini adalah repositori jarak jauh.

Halaman git tag man, di Pada Pemberian Tag Ulang Bagian, memiliki penjelasan yang baik tentang cara sopan menginformasikan pengguna perubahan remote repo ini. Mereka bahkan memberikan template pengumuman yang berguna untuk mengomunikasikan bagaimana orang lain harus mendapatkan perubahan Anda.


4
2018-03-04 17:04