ให้ฉันอธิบายบางกรณีการใช้งานของการชำระเงินด้วยไฟล์โฟลเดอร์และสาขาเพื่อที่จะเป็นประโยชน์ในการทำความเข้าใจ
สมมติว่าเรามีชื่อโฟลเดอร์dev
และindex.html
มีการติดตามทุกอย่างและไดเรกทอรีการทำงานนั้นสะอาด
หากฉันเปลี่ยนชื่อไฟล์โดยไม่ได้ตั้งใจindex.html
และฉันต้องการเลิกทำที่ฉันจะใช้git checkout index.html
มันก็จะกู้คืนสถานะไฟล์นั้นจากที่เก็บสาขาที่เลือกในปัจจุบัน
ตอนนี้ถ้าฉันทำการเปลี่ยนแปลงในdev
โฟลเดอร์และต้องการกู้คืน ฉันสามารถใช้ได้git checkout dev
แต่ถ้ามีชื่อสาขาอยู่แล้วdev
แทนที่จะตรวจสอบโฟลเดอร์นั้นมันจะดึงสาขานั้นลงมา git checkout -- dev
เพื่อหลีกเลี่ยงการที่ผมค่อนข้างจะทำ
ตอนนี้เส้นประคู่เปล่าย่อมาจาก branch ปัจจุบันและขอ git สำหรับโฟลเดอร์dev
จากสาขาที่เลือกในปัจจุบัน
ในทำนองเดียวกันถ้าฉันทำgit checkout alpha dev
มันจะดึงโฟลเดอร์ dev จากสาขาอัลฟา
คำตอบนี้สำหรับคำถามแรกของคุณ "git checkout really mean"