คุณต้องเข้าใจว่าที่เก็บ Git ไม่ได้เป็นเพียงแผนผังของไดเรกทอรีและไฟล์ แต่ยังเก็บประวัติของต้นไม้เหล่านั้นด้วยซึ่งอาจมีสาขาและการผสาน
เมื่อดึงจากที่เก็บคุณจะคัดลอกสาขาทั้งหมดหรือบางส่วนที่นั่นไปยังที่เก็บของคุณ สิ่งเหล่านี้ในที่เก็บของคุณเป็น "กิ่งการติดตามระยะไกล" เช่นสาขาชื่อremotes/origin/masterเช่น
การดึงข้อมูลคอมมิทใหม่จากที่เก็บระยะไกลจะไม่เปลี่ยนแปลงอะไรเกี่ยวกับสำเนาการทำงานในท้องถิ่นของคุณ
HEADสำเนาการทำงานของคุณมีปกติกระทำการตรวจสอบออกที่เรียกว่า การกระทำนี้มักจะเป็นเคล็ดลับของหนึ่งในสาขาของคุณ
ฉันคิดว่าคุณต้องการอัปเดตสาขาท้องถิ่นของคุณ (หรืออาจสาขาในประเทศทั้งหมดหรือไม่) ไปยังสาขาระยะไกลที่เกี่ยวข้องจากนั้นตรวจสอบสาขาล่าสุด
เพื่อหลีกเลี่ยงข้อขัดแย้งใด ๆ กับสำเนาการทำงานของคุณ (ซึ่งอาจมีการเปลี่ยนแปลงในเครื่อง) คุณต้องทำความสะอาดทุกสิ่งที่ไม่ได้ทำเวอร์ชัน (โดยใช้git clean) จากนั้นคุณตรวจสอบสาขาท้องถิ่นที่สอดคล้องกับสาขาระยะไกลที่คุณต้องการอัปเดตและใช้git resetเพื่อเปลี่ยนเป็นสาขาระยะไกลที่ดึงมา ( git pullจะรวมการอัปเดตทั้งหมดของสาขาระยะไกลในสาขาท้องถิ่นของคุณซึ่งอาจทำเช่นเดียวกันหรือสร้างการคอมมิชชันคอมมิชชันถ้าคุณมีคอมมิทท้องถิ่น)
(แต่จากนั้นคุณจะสูญเสียการเปลี่ยนแปลงใด ๆ ในท้องถิ่น - ทั้งในการทำงานคัดลอกและการกระทำในท้องถิ่นตรวจสอบให้แน่ใจว่าคุณต้องการสิ่งนี้ - มิฉะนั้นจะใช้สาขาใหม่ที่ดีกว่านี้จะบันทึกการกระทำในท้องถิ่นของคุณและใช้git stashเพื่อบันทึกการเปลี่ยนแปลง .)
แก้ไข:
หากคุณมีสาขาในประเทศเพียงสาขาเดียวและกำลังติดตามสาขาระยะไกลหนึ่งสาขาสิ่งที่คุณต้องทำคือ
git pull
จากภายในไดเรกทอรีทำงาน
สิ่งนี้จะดึงข้อมูลรุ่นปัจจุบันของสาขารีโมตที่ถูกติดตามทั้งหมดและอัพเดตสาขาปัจจุบัน (และไดเร็กทอรีการทำงาน) เป็นเวอร์ชันปัจจุบันของสาขารีโมตที่มันกำลังติดตาม