ฉันเคยgit branch -d myBranchลบสาขา แต่เมื่อฉันอยู่ในหลักและพยายามที่จะชำระเงินสาขาใหม่ที่มีgit checkout, myBranchยังคงปรากฏอยู่ในแท็บการเติมข้อความอัตโนมัติ
ฉันจะลบชื่อmyBranchออกจากแท็บเติมข้อความอัตโนมัติได้git checkoutอย่างไร
ฉันเคยgit branch -d myBranchลบสาขา แต่เมื่อฉันอยู่ในหลักและพยายามที่จะชำระเงินสาขาใหม่ที่มีgit checkout, myBranchยังคงปรากฏอยู่ในแท็บการเติมข้อความอัตโนมัติ
ฉันจะลบชื่อmyBranchออกจากแท็บเติมข้อความอัตโนมัติได้git checkoutอย่างไร
คำตอบ:
เหตุผลหนึ่งที่เป็นไปได้สำหรับเรื่องนี้ก็คือถ้าเป็นสาขาที่ห่างไกล (เช่นorigin/myBranch) ยังคงมีอยู่แล้วจะประสบความสำเร็จเป็นทางเลือกให้กับgit checkout myBranch git checkout -b myBranch origin/myBranchสิ่งนี้มีวัตถุประสงค์เพื่ออำนวยความสะดวกสำหรับกรณีทั่วไปของการชำระเงินออกจากสาขาระยะไกลเป็นครั้งแรกโดยสร้างสาขาการติดตามท้องถิ่นที่มีชื่อเหมือนกัน
มีความเป็นไปได้อื่น ๆ เช่นกันขึ้นอยู่กับว่าคุณใช้อะไรเพื่อให้เสร็จสมบูรณ์ แต่นั่นเป็นสิ่งแรกที่ฉันจะตรวจสอบ หากคุณเรียกใช้git branch -aและมีอยู่ในorigin/myBranchรายการ (หรือหนึ่งรายการสำหรับรีโมตอื่นที่ไม่ใช่originถ้าคุณมี) นั่นอาจเป็นผู้กระทำผิด
origin/myBranchยังคงมีอยู่ ถ้าฉันลบmyBranchสาขาบน Github (ผ่านอินเทอร์เฟซออนไลน์) ฉันจะโทรgit branch -d origin/myBranchไปลบสาขาระยะไกลนั้นได้อย่างปลอดภัยหรือไม่?
git fetch --prune originแต่ผมคิดว่าวิธีที่ดีกว่าจะ ซึ่งจะล้างสาขาการติดตามในเครื่องทั้งหมดที่ไม่มีอยู่บนรีโมทอีกต่อไป
git fetch --prune originการอ้างอิงในท้องถิ่นไปยังสาขาที่อยู่ห่างไกลหายไปในการเติมข้อความอัตโนมัติ อาจเป็นการดีที่จะย้ายสิ่งนั้นจากความคิดเห็นไปเป็นคำตอบ ไม่ว่าในกรณีใด ๆ ขอขอบคุณสำหรับการตอบกลับของคุณที่ช่วยฉัน!
git branch -aพาฉันไปถูกทาง; เพื่อนร่วมงานของฉันแนะนำgit fetch --prune --allให้ตัดกิ่งไม้ที่ตายแล้วทั้งหมดออกจากรีโมททั้งหมดซึ่งมีประโยชน์เมื่อทำงานกับนักพัฒนาจำนวนมากที่มีส้อมจำนวนมาก
git fetch --prune --all
โพสต์สิ่งนี้เป็นคำตอบของตัวเองเนื่องจากเป็นการแก้ไขแบบบรรทัดเดียว แต่ถ้าคุณโหวตอย่าลืมโหวตคำตอบของ @ twalberg ด้านบน
ข้อเสนอแนะของ @ twalberg ที่จะgit branch -aทำให้ฉันไปถูกทาง; เพื่อนร่วมงานของฉันแนะนำgit fetch --prune --allให้ตัดกิ่งไม้ที่ตายแล้วทั้งหมดออกจากรีโมททั้งหมดซึ่งมีประโยชน์เมื่อทำงานกับนักพัฒนาจำนวนมากที่มีส้อมจำนวนมาก
git branch -aยังรายการอย่างใดอย่างหนึ่งmyBranchหรือorigin/myBranch? โปรดทราบว่าแม้ว่าmyBranchจะไม่มีอยู่จริง แต่git checkout myBranchก็ยังคงเป็นทางลัดที่ใช้ได้git checkout -b myBranch origin/myBranchหากorigin/myBranchมีอยู่