ฉันแยกที่เก็บคอมไพล์และตั้งค่าอัปสตรีม ฉันได้ทำการเปลี่ยนแปลงในสาขาของอาจารย์และมุ่งมั่นและผลักดันให้ GitHub
ตอนนี้ฉันควรทำอย่างไรเพื่อละทิ้งการเปลี่ยนแปลงทั้งหมดของฉันในสาขาหลักและทำให้มันเหมือนกับสาขาต้นแบบของต้นน้ำ
ฉันแยกที่เก็บคอมไพล์และตั้งค่าอัปสตรีม ฉันได้ทำการเปลี่ยนแปลงในสาขาของอาจารย์และมุ่งมั่นและผลักดันให้ GitHub
ตอนนี้ฉันควรทำอย่างไรเพื่อละทิ้งการเปลี่ยนแปลงทั้งหมดของฉันในสาขาหลักและทำให้มันเหมือนกับสาขาต้นแบบของต้นน้ำ
คำตอบ:
(ฉันสมมติว่าการเปลี่ยนแปลงที่คุณต้องการเพิกเฉยนั้นอยู่ที่origin
ระยะไกลคุณอยู่ในmaster
สาขาของคุณและคุณต้องการเปลี่ยนกลับเป็นเนื้อหาของupstream
รีโมต)
ขั้นแรกให้รีเซ็ตสำเนาการทำงานของคุณเป็นต้นแบบต้นน้ำ:
git remote update
# the double hyphen ensures that upstream/master is
# considered as a revision and not confused as a path
git reset --hard upstream/master --
จากนั้นผลักหัวหน้าสาขาใหม่นี้ไปยังที่เก็บต้นฉบับของคุณโดยไม่สนใจข้อเท็จจริงที่ว่ามันจะไม่เป็นไปข้างหน้าอย่างรวดเร็ว:
git push origin +master
+
ในgit push origin +master
คืออะไร? มันเหมือนกันgit push origin master
หรือเปล่า
+
คือสิ่งที่บอกคอมไพล์ให้กับ "[เพิกเฉย] ความจริงที่ว่ามันจะไม่เป็นไปข้างหน้าอย่างรวดเร็ว" มันค่อนข้างเหมือนกับการทำgit push --force
แต่มันใช้ได้กับการอ้างอิงเฉพาะนั้นเท่านั้น
git remote add upstream <upstream_repo_url>
หากคุณแยกสาขาด้วย GitHub