นี่คืออะไรในกล่องกลมสีเหลือง?
ฉันพยายาม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)