ฉันมีสองสาขาและ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