ฉันต้องการรับไฟล์ล่าสุดที่อยู่ในที่เก็บและเขียนทับสิ่งที่ฉันมีในเครื่อง ฉันจะทำสิ่งนี้กับลูกค้า git ได้อย่างไร?
ฉันต้องการรับไฟล์ล่าสุดที่อยู่ในที่เก็บและเขียนทับสิ่งที่ฉันมีในเครื่อง ฉันจะทำสิ่งนี้กับลูกค้า git ได้อย่างไร?
คำตอบ:
หากคุณต้องการเขียนทับไฟล์เดียวเท่านั้น:
git fetch
git checkout origin/master <filepath>
หากคุณต้องการจะเขียนทับทุกไฟล์ที่เปลี่ยนแปลง:
git fetch
git reset --hard origin/master
(สิ่งนี้ถือว่าคุณทำงานในmasterพื้นที่และคุณต้องการให้มีการเปลี่ยนแปลงที่มาของต้นกำเนิดmaster- หากคุณอยู่ในสาขาให้เปลี่ยนมาใช้แทน)
git fetch git reset --hard origin/masterหรือ/<branch name>
เวอร์ชันที่ง่ายที่สุดสมมติว่าคุณกำลังทำงานในสาขาเดียวกับที่ไฟล์ที่คุณต้องการเปิดอยู่:
git checkout path/to/file.
gc='git checkout'ฉันทำเช่นนี้จึงมักจะว่าฉันมีชุดนามแฝงไป
git checkout path/to/fileทำงานให้ฉัน นอกจากนี้ฉันพบว่าแผนภาพนี้มีประโยชน์มากในการเข้าใจแนวคิดที่git checkoutกำลังทำ ลิงก์
สิ่งนี้ใช้ได้กับฉัน:
git reset HEAD <filename>
การซิงค์แบบเต็มมีงานน้อย:
git reset HEAD - ฮาร์ด
git clean -f
git pull master ต้นกำเนิด
หรืออย่างอื่นที่ฉันชอบก็คือฉันอาจสร้างสาขาใหม่โดยใช้ล่าสุดจากระยะไกลโดยใช้:
git checkout origin/master -b <new branch name>
origin คือการอ้างอิงที่เก็บระยะไกลของฉันและ master คือชื่อสาขาที่ฉันพิจารณา สิ่งเหล่านี้อาจแตกต่างจากของคุณ