Bagaimana cara menghapus semua git origin dan tag lokal?

94

Bagaimana Anda menghapus tag git yang sudah didorong? Hapus semua tag git remote (origin) dan Hapus semua tag lokal git.

Amir Hosseinzadeh
sumber

Jawaban:

235

1. Hapus Semua tag lokal. (Opsional Direkomendasikan)

git tag -d $(git tag -l)

2. Ambil jarak jauh Semua tag. (Opsional Direkomendasikan)

git fetch

3. Hapus Semua tag jarak jauh.

git push origin --delete $(git tag -l) # Pushing once should be faster than multiple times

4. Hapus Semua tag lokal.

git tag -d $(git tag -l)
Amir Hosseinzadeh
sumber
1
Jika Anda mendapat pesan kesalahan "daftar argumen terlalu panjang", yang mungkin akan Anda lakukan jika Anda mencoba untuk menghapus tag Gunakangit tag -d $(git tag -l | head 100)
rocketspacer
1
Apa perbedaan antara Opsi 1 dan 4? Mereka berdua git tag -d $(git tag -l).
Michael Ozeryansky
2
1) menghapus semua tag lokal Anda 2) mengambil semua tag jarak jauh yang memberi Anda daftar lengkap tag jarak jauh secara lokal 3) menghapus tag jarak jauh dengan referensi ke daftar lokal 4) menghapus tag lokal dari langkah 2
sentece
1
Saya pikir pada 3. seharusnyagit push --delete origin $(git tag -l)
npocmaka
2
git tag -d $(git tag -l)gagal pada git 2.23 denganerror: switch `l' is incompatible with --delete
turbanoff
6

Untuk windows menggunakan command prompt:

Menghapus tag lokal:

for /f "tokens=* delims=" %a in ('git tag -l') do git tag -d %a

Menghapus tag jarak jauh:

for /f "tokens=* delims=" %a in ('git tag -l') do git push --delete origin %a
npocmaka
sumber
2
Saat menggunakan PS:git tag -l | %{git tag -d $_}
Pent Ploompuu
1
Untuk tag lokal: git tag -l | xargs git tag -d
LongTP5
1
@ LongTP5 - xargsbukan perintah windows asli dan harus diinstal tambahan.
npocmaka