เพื่อรับข้อผูกพันใหม่
git fetch
ตั้งค่าใหม่
git reset
คุณสามารถรีเซ็ตกระทำสำหรับสาขาในประเทศโดยใช้
หากต้องการเปลี่ยนการกระทำของสาขาในพื้นที่:
git reset origin/master --hard
ระวังให้ดีเนื่องจากเอกสารประกอบมีดังนี้:
รีเซ็ตดัชนีและแผนผังการทำงาน การเปลี่ยนแปลงใด ๆ กับไฟล์ที่ถูกติดตามในแผนผังการทำงานตั้งแต่ <commit> ถูกยกเลิก
หากคุณต้องการเก็บการเปลี่ยนแปลงใด ๆ ที่คุณได้รับภายในเครื่องให้ทำการ--soft
รีเซ็ตแทน ซึ่งจะอัปเดตประวัติการส่งมอบสำหรับสาขา แต่จะไม่เปลี่ยนไฟล์ใด ๆ ในไดเรกทอรีทำงาน (และคุณสามารถส่งมอบได้)
rebase
คุณสามารถเล่นซ้ำกระทำในพื้นที่ของคุณด้านบนของการกระทำอื่น ๆ / สาขาโดยใช้git rebase
:
git rebase -i origin/master
สิ่งนี้จะเรียกใช้ rebase ในโหมดอินเทอร์แอคทีฟซึ่งคุณสามารถเลือกวิธีการใช้แต่ละการคอมมิตที่ไม่ได้อยู่ในประวัติที่คุณกำลังรีบูตอยู่ด้านบน
หากคอมมิชชันที่คุณลบ (พร้อมgit push -f
) ถูกดึงเข้าสู่ประวัติศาสตร์ท้องถิ่นแล้วพวกเขาจะถูกระบุว่าเป็นคอมมิชชันที่จะนำมาใช้ใหม่ - พวกเขาจะต้องถูกลบออกเป็นส่วนหนึ่งของการรีบูตมิเช่นนั้นจะถูกรวมเข้าไปในประวัติศาสตร์ สำหรับสาขา - และปรากฏขึ้นอีกครั้งในประวัติระยะไกลในการผลักดันครั้งต่อไป
ใช้วิธีใช้git command --help
สำหรับรายละเอียดเพิ่มเติมและตัวอย่างในคำสั่งใด ๆ ข้างต้น (หรืออื่น ๆ )
git checkout master && git branch -D test && git checkout -b test origin/test