หมายเหตุ:หากคุณมีความรู้ในวงกว้างเกี่ยวกับการรีบูตแล้วให้ใช้ซับด้านล่างหนึ่งอันเพื่อการรีเฟรชอย่างรวดเร็ว
วิธีแก้ปัญหา:
สมมติว่าคุณทำงานสาขาและคุณเป็นคนเดียวที่ทำงานอยู่
git fetch && git rebase origin/master
แก้ไขข้อขัดแย้งทดสอบรหัสกระทำและผลักดันการเปลี่ยนแปลงใหม่ไปยังสาขาระยะไกล
~: For noobs :~
ขั้นตอนต่อไปนี้อาจช่วยทุกคนที่ยังใหม่กับgit rebase
และต้องการที่จะทำโดยไม่ต้องยุ่งยาก
ขั้นตอนที่ 1:สมมติว่าไม่มีข้อผูกมัดและการเปลี่ยนแปลงที่จะเกิดขึ้นกับ YourBranch ณ จุดนี้ เรากำลังเยี่ยมชม YourBranch
git checkout YourBranch
git pull --rebase
เกิดอะไรขึ้น? ดึงการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นจากนักพัฒนาซอฟต์แวร์คนอื่น ๆ ที่ทำงานในสาขาของคุณและเริ่มการเปลี่ยนแปลงใหม่ที่ด้านบนของมัน
ขั้นตอนที่ 2:แก้ไขข้อขัดแย้งที่เกิดขึ้น
ขั้นตอนที่ 3:
git checkout master
git pull --rebase
เกิดอะไรขึ้น? ดึงการเปลี่ยนแปลงล่าสุดทั้งหมดจากต้นแบบระยะไกลและ rebases ต้นแบบท้องถิ่นบนต้นแบบระยะไกล ฉันรักษาความสะอาดของรีโมทจากภายนอกและปล่อยให้พร้อมเสมอ! และต้องการทำงานกับเจ้านายหรือสาขาในพื้นที่เท่านั้น ฉันแนะนำในการทำเช่นนี้จนกว่าคุณจะได้รับการเปลี่ยนแปลงหรือคอมไพล์คอมไพล์ หมายเหตุ: ขั้นตอนนี้ไม่จำเป็นถ้าคุณไม่ได้ดูแลเครื่องต้นแบบ แต่คุณสามารถทำการดึงและรีโมตต้นแบบรีโมทโดยตรงบนสาขาท้องถิ่นโดยตรง อย่างที่ฉันพูดถึงในขั้นตอนเดียวในการเริ่มต้น
ขั้นตอนที่ 4:แก้ไขข้อขัดแย้งใด ๆ ที่นำเสนอ
ขั้นตอนที่ 5:
git checkout YourBranch
git rebase master
เกิดอะไรขึ้น? การลดลงของต้นแบบเกิดขึ้น
ขั้นตอนที่ 6:แก้ไขข้อขัดแย้งหากมีข้อขัดแย้ง ใช้git rebase --continue
เพื่อรีบูตต่อไปหลังจากเพิ่มข้อขัดแย้งที่ได้รับการแก้ไข คุณสามารถใช้git rebase --abort
เพื่อยกเลิกการยกเลิกเมื่อใดก็ได้
ขั้นตอนที่ 7:
git push --force-with-lease
เกิดอะไรขึ้น? ผลักดันการเปลี่ยนแปลง YourBranch ระยะไกลของคุณ --force-with-lease
จะทำให้แน่ใจว่ามีการเปลี่ยนแปลงอื่น ๆ ที่เข้ามาสำหรับ YourBranch จากนักพัฒนาอื่น ๆ ในขณะที่คุณทำการรีบูทหรือไม่ สิ่งนี้มีประโยชน์มากกว่าการใช้กำลังดัน ในกรณีที่มีการเปลี่ยนแปลงใด ๆ ที่เข้ามาจากนั้นเรียกพวกเขาเพื่อปรับปรุง YourBranch ท้องถิ่นของคุณก่อนที่จะผลักดันการเปลี่ยนแปลง
ทำไมฉันต้องผลักดันการเปลี่ยนแปลง? หากต้องการเขียนข้อความยืนยันใน YourBranch ระยะไกลหลังจากรีบูตเครื่องที่เหมาะสมหรือหากมีข้อขัดแย้งใด ๆ ที่แก้ไขได้? จากนั้นคุณต้องผลักดันการเปลี่ยนแปลงที่คุณแก้ไขใน repo ท้องถิ่นไปยัง repo ระยะไกลของ YourBranch
YAHOOOO ... ! คุณทำสำเร็จแล้วด้วยการรีบูต
คุณอาจกำลังมองหา:
git checkout master
git merge YourBranch
เมื่อไหร่และเพราะเหตุใด ผสานสาขาของคุณเป็นหลักหากมีการเปลี่ยนแปลงโดยคุณและผู้พัฒนาร่วมอื่น ๆ ซึ่งทำให้ YourBranch ทันสมัยกับเจ้านายเมื่อคุณต้องการทำงานในสาขาเดียวกันในภายหลัง
~: (๑ơ ₃ ơ)♥ rebase :~