ฉันมีสองสาขาและmaster branch1ฉันเพิ่งรวมbranch1เข้ากับmasterและฉันก็ทำกับสาขานั้น ฉันควรจะลบมันหรือปล่อยให้มันนั่งเฉยๆ การลบมันจะทำให้ข้อมูลสูญหายหรือไม่
ฉันมีสองสาขาและmaster branch1ฉันเพิ่งรวมbranch1เข้ากับmasterและฉันก็ทำกับสาขานั้น ฉันควรจะลบมันหรือปล่อยให้มันนั่งเฉยๆ การลบมันจะทำให้ข้อมูลสูญหายหรือไม่
คำตอบ:
หลังจากการรวมจะเป็นการปลอดภัยที่จะลบสาขา:
git branch -d branch1
นอกจากนี้คอมไพล์จะเตือนคุณ (และปฏิเสธที่จะลบสาขา) หากคิดว่าคุณยังไม่ได้รวมเข้าด้วยกัน หากคุณลบสาขา (ด้วยgit branch -D) ที่ยังไม่ได้รวมเข้าด้วยกันอย่างสมบูรณ์คุณจะต้องทำเทคนิคบางอย่างเพื่อให้ได้ผลลัพธ์ที่ยังไม่ได้จมกลับไป (ดูด้านล่าง)
มีเหตุผลบางอย่างที่จะทำให้สาขาอยู่รอบ ๆ ตัวอย่างเช่นหากเป็นสาขาฟีเจอร์คุณอาจต้องการแก้ไขข้อบกพร่องในฟีเจอร์นั้นยังคงอยู่ในสาขานั้น
หากคุณต้องการลบสาขาในรีโมตโฮสต์คุณสามารถทำได้:
git push origin :branch1
การดำเนินการนี้จะลบสาขาบนรีโมต (ซึ่งจะไม่ส่งผลกระทบต่อที่เก็บข้อมูลที่เช็กเอาต์แล้ว แต่จะไม่ป้องกันไม่ให้บุคคลใด ๆ ที่มีการเข้าถึงแบบพุชเพื่อผลัก / สร้างใหม่)
git reflogแสดงการตรวจสอบแก้ไขล่าสุด สาขาใด ๆ ที่คุณเช็คเอาต์ในประวัติพื้นที่เก็บข้อมูลล่าสุดจะปรากฏขึ้นเช่นกัน นอกเหนือจากนั้นgit fsckจะเป็นเครื่องมือในการเลือกในกรณีของการสูญเสียในคอมไพล์
git checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
ฉันชอบRENAMEมากกว่าDELETE
สาขาของฉันทั้งหมดตั้งชื่อในรูปแบบของ
Fix/fix-<somedescription> หรือ Ftr/ftr-<somedescription> หรือ การใช้ทาวเวอร์เป็นส่วนหน้าคอมไพล์ของฉันก็เรียบร้อยจัดทั้งหมดFtr/, Fix/, Test/ฯลฯ ลงในโฟลเดอร์
เมื่อฉันทำกับสาขาฉันเปลี่ยนพวกเขาเป็นDone/...-<description>ให้พวกเขา
ด้วยวิธีนี้พวกเขายังคงอยู่ที่นั่น (ซึ่งมีประโยชน์ในการให้ประวัติ) และฉันสามารถกลับไปรู้ว่ามันคืออะไร (คุณสมบัติแก้ไขทดสอบ ฯลฯ )
ถ้าคุณจะไปข้างหน้าและลบสาขาหลังจากรวม
เพียง แต่ดูแล
ทั้งหมดเชื่อมโยงหลายมิติ URL ที่อ้างอิงของสาขาถูกลบของคุณจะได้รับการBROKEN