Saya ingin menghapus semua tag dari repositori Git. Bagaimana saya bisa melakukan itu?
Menggunakan git tag -d tagname
menghapus tag tagname
secara lokal, dan menggunakan git push --tags
saya memperbarui tag pada penyedia git.
Saya mencoba:
git tag -d *
Tapi saya melihat itu *
berarti file dari direktori saat ini.
$ git tag -d *
error: tag 'file1' not found.
error: tag 'file2' not found.
...
Anggap saya punya banyak tag, dan saya ingin menghapusnya semua.
git tag -l | xargs -n 1 git push --delete origin
menghapusnya dari remote.Untuk menghapus tag jarak jauh (sebelum menghapus tag lokal) cukup lakukan:
dan kemudian hapus salinan lokal:
sumber
Mungkin lebih efisien untuk mendorong hapus semua tag dalam satu perintah. Apalagi jika Anda memiliki beberapa ratus.
Di shell non-windows yang sesuai, hapus semua tag jarak jauh:
Kemudian hapus semua tag lokal:
Ini harus OK selama Anda tidak memiliki
'
nama tag Anda. Untuk itu, perintah berikut harus OK.Cara lain untuk mengambil daftar baris, membungkusnya dengan tanda kutip, menjadikannya satu baris dan kemudian meneruskannya ke perintah mungkin ada. Mengingat ini adalah lingkungan menguliti kucing yang paling utama dan semuanya.
sumber
xargs -L 1
dilakukan?git tag
mengembalikan tag, satu per baris, dan kemudianxargs -L 1
mengeluarkannya satu per baris, jadi untuk apa?Untuk pengguna Windows yang menggunakan PowerShell:
Ini menghapus semua tag yang dikembalikan oleh
git tag
dengan mengeksekusigit tag -d
untuk setiap baris yang dikembalikan.sumber
Menambahkan ke jawaban Stefan yang tidak ada cara menghapus tag dari jarak jauh. Untuk windows PowerShell Anda dapat menjalankan ini untuk menghapus tag jarak jauh pertama diikuti oleh tag lokal.
sumber
Jika Anda tidak memiliki tag di repo lokal Anda, Anda dapat menghapus tag jarak jauh tanpa harus membawanya ke repo lokal Anda.
Jangan lupa ganti "asal" dengan nama pengendali jarak jauh Anda.
sumber
Untuk pengguna windows:
Ini menghapus semua Tag Lokal dengan menjalankan git tag dan mengumpankan daftar itu ke git tag -d:
(Ditemukan di: https://gist.github.com/RandomArray/fdaa427878952d9768b0 )
sumber
Anda juga bisa menggunakan:
sumber
Karena semua opsi ini hanya berfungsi di linux, inilah jendela yang setara untuk siapa pun yang harus berurusan dengan itu:
sumber
Saya harus menghapus tag dengan awalan
misalnya, saya harus menghapus tag v0.0.1, v0.0.2, v0.0.3, v0.0.4, v0.0.5
Untuk membuat daftar semua tag dengan awalan
Untuk menghapus tag
Begitulah cara kerja pernyataan pertama
sumber
Powershell v7 mendukung langkah paralel jika Anda memiliki banyak tag upstream (asal) yang perlu Anda hapus:
sumber