จะลบต้นทาง git และแท็กในเครื่องทั้งหมดได้อย่างไร


94

คุณจะลบแท็ก git ที่ถูกพุชไปแล้วได้อย่างไร? ลบแท็ก git remote (ต้นทาง) ทั้งหมดและลบแท็ก git โลคัลทั้งหมด

คำตอบ:


235

1. ลบแท็กในเครื่องทั้งหมด (แนะนำเพิ่มเติม)

git tag -d $(git tag -l)

2. ดึงแท็กทั้งหมดจากระยะไกล (แนะนำเพิ่มเติม)

git fetch

3. ลบแท็กระยะไกลทั้งหมด

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

4. ลบแท็กในเครื่องทั้งหมด

git tag -d $(git tag -l)

1
หากคุณได้รับข้อความแสดงข้อผิดพลาด "รายการอาร์กิวเมนต์ยาวเกินไป" ซึ่งคุณอาจเป็นไปได้หากคุณกำลังพยายามล้างแท็ก Usegit tag -d $(git tag -l | head 100)
rocketspacer

1
ตัวเลือกที่ 1 และ 4 แตกต่างกันอย่างไร git tag -d $(git tag -l)พวกเขาทั้งสอง
Michael Ozeryansky

2
1) ล้างแท็กในเครื่องทั้งหมดของคุณ 2) เรียกข้อมูลแท็กระยะไกลทั้งหมดเพื่อให้คุณมีรายการแท็กระยะไกลในเครื่องทั้งหมด 3) ลบแท็กระยะไกลโดยอ้างอิงถึงรายการในเครื่อง 4) ลบแท็กในเครื่องจากขั้นตอนที่ 2
ข้อความ

1
ฉันคิดว่าวันที่3น่าจะเป็นgit push --delete origin $(git tag -l)
npocmaka

2
git tag -d $(git tag -l)ล้มเหลวใน git 2.23 ด้วยerror: switch `l' is incompatible with --delete
turbanoff

6

สำหรับ windows โดยใช้ command prompt:

การลบแท็กในเครื่อง:

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

การลบแท็กระยะไกล:

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

2
เมื่อใช้ PS:git tag -l | %{git tag -d $_}
Pent Ploompuu

1
สำหรับแท็กท้องถิ่น: git tag -l | xargs git tag -d
LongTP5

1
@ LongTP5 - xargsไม่ใช่คำสั่งดั้งเดิมของ windows และควรติดตั้งเพิ่มเติม
npocmaka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.