Làm thế nào để loại bỏ tất cả các thẻ nguồn gốc và cục bộ git?


95

Làm cách nào để xóa thẻ git đã được đẩy? Xóa tất cả các thẻ git remote (origin) và Xóa tất cả các thẻ git local.

Câu trả lời:


237

1. Xóa tất cả các thẻ cục bộ. (Tùy chọn được đề xuất)

git tag -d $(git tag -l)

2. Tìm nạp từ xa Tất cả các thẻ. (Tùy chọn được đề xuất)

git fetch

3. Xóa tất cả các thẻ từ xa.

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

4. Xóa tất cả các thẻ cục bộ.

git tag -d $(git tag -l)

1
Nếu bạn nhận được thông báo lỗi "danh sách đối số quá dài", mà bạn có lẽ sẽ nếu bạn đang cố gắng để thẻ rõ ràng Sử dụnggit tag -d $(git tag -l | head 100)
rocketspacer

1
Sự khác biệt giữa lựa chọn 1 và 4 là gì? Họ là cả hai git tag -d $(git tag -l).
Michael Ozeryansky

2
1) xóa tất cả các thẻ cục bộ của bạn 2) truy xuất tất cả các thẻ từ xa cung cấp cho bạn danh sách đầy đủ các thẻ từ xa cục bộ 3) xóa các thẻ từ xa có tham chiếu đến danh sách cục bộ 4) xóa các thẻ cục bộ khỏi bước 2
sentece

1
Tôi nghĩ vào ngày 3. nó nên đượcgit push --delete origin $(git tag -l)
npocmaka

2
git tag -d $(git tag -l)không thành công trên git 2.23 vớierror: switch `l' is incompatible with --delete
turbanoff

6

Đối với các cửa sổ sử dụng dấu nhắc lệnh:

Xóa thẻ cục bộ:

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

Xóa thẻ từ xa:

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

2
Khi sử dụng PS:git tag -l | %{git tag -d $_}
Pent Ploompuu

1
Đối với các thẻ cục bộ: git tag -l | xargs git tag -d
LongTP5

1
@ LongTP5 - xargskhông phải là lệnh windows gốc và phải được cài đặt một cách bổ sung.
npocmaka
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.