เหตุใด git pull จึงทำการผสานแทนที่จะเป็น rebase โดยปริยาย
พิจารณาสถานการณ์ต่อไปนี้: คุณมีที่เก็บโคลนคอมไพล์ คุณมีการกระทำในท้องถิ่น (การกระทำที่ยังไม่ได้ผลักไปที่ใดก็ได้) ที่เก็บรีโมตมีการยอมรับใหม่ที่คุณยังไม่ได้กระทบยอด ดังนั้นสิ่งนี้: หากคุณดำเนินการgit pullด้วยการตั้งค่าเริ่มต้นคุณจะได้รับสิ่งนี้: นี่เป็นเพราะคอมไพล์ทำการผสาน มีทางเลือกแม้ว่า คุณสามารถบอกให้ pull ทำ rebase แทน: git pull --rebase และคุณจะได้รับสิ่งนี้: ในความเห็นของฉันเวอร์ชันที่ถูก rebased มีข้อดีมากมายที่ส่วนใหญ่มุ่งเน้นที่การรักษาทั้งรหัสและประวัติของคุณให้สะอาด ใช่ความยุ่งเหยิงของการกระทำในท้องถิ่นของคุณจะเปลี่ยนไป แต่ดูเหมือนว่าจะเป็นเพียงเล็กน้อยที่จะจ่ายสำหรับประวัติที่เรียบง่ายกว่าที่คุณได้รับ ฉันไม่ได้แนะนำว่านี่เป็นค่าเริ่มต้นที่ไม่ดีหรือผิด ฉันแค่มีปัญหาในการคิดหาเหตุผลว่าทำไมการผสานอาจเป็นที่ต้องการสำหรับการเริ่มต้น เรามีความเข้าใจหรือไม่ว่าทำไมถึงถูกเลือก? มีประโยชน์ที่ทำให้เหมาะสมกว่าเป็นค่าเริ่มต้นหรือไม่ แรงจูงใจหลักสำหรับคำถามนี้คือ บริษัท ของฉันพยายามกำหนดมาตรฐานพื้นฐานบางอย่าง (หวังว่าจะเป็นแนวทางเพิ่มเติม) สำหรับวิธีที่เราจัดระเบียบและจัดการที่เก็บข้อมูลของเราเพื่อให้ง่ายขึ้นสำหรับนักพัฒนาในการเข้าถึงพื้นที่เก็บข้อมูลที่ไม่เคยทำงานด้วยมาก่อน ฉันสนใจที่จะทำกรณีที่เราควรรีบาวด์ในสถานการณ์ประเภทนี้ (และอาจแนะนำให้นักพัฒนาตั้งค่าคอนฟิเกอเรชันระดับโลกเป็นรีบูตโดยค่าเริ่มต้น) แต่ถ้าฉันไม่เห็นด้วยฉันจะถามว่าทำไมการรีบูตไม่ใช่ ' ค่าเริ่มต้นถ้ามันยอดเยี่ยมมาก ดังนั้นฉันสงสัยว่ามีอะไรที่ขาดหายไปหรือเปล่า มันได้รับการแนะนำว่าคำถามนี้เป็นคำถามที่ซ้ำกันของเหตุใดเว็บไซต์จำนวนมากจึงนิยมใช้“ git rebase” มากกว่า“ git merge” ; อย่างไรก็ตามคำถามนี้ค่อนข้างตรงกันข้ามกับคำถามนี้ มันกล่าวถึงข้อดีของการ rebase มากกว่าการรวมในขณะที่คำถามนี้ถามเกี่ยวกับประโยชน์ของการรวมมากกว่า …