นี่คืออะไรในกล่องกลมสีเหลือง?
ฉันพยายามgit branch -D
แล้วgit tag -d
แต่ก็ไม่ประสบความสำเร็จ ดังนั้นจะลบได้อย่างไร
นี่คืออะไรในกล่องกลมสีเหลือง?
ฉันพยายามgit branch -D
แล้วgit tag -d
แต่ก็ไม่ประสบความสำเร็จ ดังนั้นจะลบได้อย่างไร
คำตอบ:
ดูเหมือนแท็กดังนั้นคำสั่งต่อไปนี้ควรใช้งานได้:
git tag -d refs/original/refs/heads/master
แต่เนื่องจากคุณบอกว่าไม่เป็นเช่นนั้นคุณสามารถลบไฟล์ออกจาก.git
ไดเรกทอรีได้ จาก root ของที่เก็บคำสั่งเช่นนี้จะได้รับ:
rm .git/refs/tags/refs/original/refs/heads/master
เส้นทางอาจแตกต่างกันเล็กน้อยหากgit-tag
คำสั่งล้มเหลวดังนั้นคุณอาจต้องการcd .git/refs
และค้นหาส่วนหัวที่ผิดโดยการลองผิดลองถูก การลบไฟล์จะเป็นการลบการอ้างอิงจากที่เก็บในเครื่องของคุณ
.git/refs/original/refs/heads/master
แต่ผมพบว่ามันเป็น
git update-ref
แทนที่จะกลายพันธุ์ภายใน Git ด้วยตนเอง ดูคำตอบของ Alexey
คำสั่งนี้ควรใช้งานได้
git update-ref -d refs/original/refs/heads/master
git update-ref -d
แทนเพียงrm
ไอเอ็นจีเตะ - สิ่งที่ไม่ดีสามารถเกิดขึ้นได้เป็นอย่างอื่น
refs
ไดเรกทอรี
นี่คือการอ้างอิง สร้างขึ้นตามปกติโดยgit filter-branch
- git filter-branch
มันเป็นตัวชี้ไปที่สาขาของคุณก่อนที่คุณจะวิ่ง
และในการลบการอ้างอิงใด ๆคุณสามารถส่งอะไรไปที่ repository ได้เสมอ:
git push . :refs/original/refs/heads/master
คำตอบอื่น ๆ ยังครอบคลุมถึงวิธีอื่น ๆ ในการลบ
git update-ref -d
)