ถ้าคุณ รีเบสสาขา คุณจะต้องบังคับผลักสาขานั้น โดยทั่วไปแล้ว Rebase และที่เก็บที่ใช้ร่วมกันจะไม่เข้ากัน นี่คือการเขียนประวัติศาสตร์ใหม่ หากคนอื่นใช้สาขานั้นหรือแยกจากสาขานั้น การรีเบสจะไม่เป็นที่พอใจนัก
รีเบสดันไหม
รีเบส. ข้อยกเว้นที่แท้จริงเพียงอย่างเดียวของกฎ "ดึงเสมอแล้วผลัก" คือการปรับฐานใหม่ เมื่อคุณรีเบส คุณกำลังสร้างสำเนาประวัติการคอมมิตของคุณ … อย่างไรก็ตาม หากคุณ git pull คุณจะจบลงด้วยแบรนช์สองชุดที่รวมเข้ากับคอมมิตการผสาน
ฉันสามารถรีเบสหลังจากกดไปที่รีโมตได้ไหม
หากคุณเคยพุชการเปลี่ยนแปลงก่อนที่จะใช้ตัวเลือกนั้น การเปลี่ยนแปลงเหล่านั้น จะไม่ถูกปรับฐานใหม่ เพราะมันอยู่ในรีโมตอยู่แล้ว ข้อยกเว้นเพียงอย่างเดียวอาจเป็นได้ถ้าคุณมีรีโมทหลายตัว และได้ผลักการเปลี่ยนแปลงไปยังรีโมทหนึ่งตัว จากนั้นทำการดึง/รีเบสจากอีกตัวหนึ่ง ซึ่งอาจทำให้เกิดปัญหาร้ายแรงได้
คุณต้องคอมมิตหลังจากรีเบสไหม
สำหรับการรีเบส คุณ เพียงแค่ต้องแก้ไขข้อขัดแย้งในดัชนี จากนั้น git rebase --continue สำหรับการผสาน คุณต้องทำการคอมมิต (คอมมิต git) แต่ข้อเท็จจริงที่ว่าเป็นการรวมจะถูกจดจำและจะมีการจัดเตรียมข้อความคอมมิตเริ่มต้นที่เหมาะสมให้คุณแก้ไข
ทำไมฉันต้องดึงหลังจากรีเบส
คุณสามารถดึงโดยใช้ rebase แทนการผสาน (git pull --rebase) … การเปลี่ยนแปลงในเครื่องที่คุณทำจะอิงตามด้านบนของการเปลี่ยนแปลงระยะไกล แทนที่จะรวมกับการเปลี่ยนแปลงระยะไกล หากคุณทำการรีเบสสาขา คุณจะต้องบังคับผลักสาขานั้น