git รู้ได้อย่างไรว่าเส้นทางโฟลเดอร์ถูกเปลี่ยน?
(kwoncheol.me)- ก่อนเริ่ม
-
git แยกแยะไฟล์ด้วยค่า hash
-
อ็อบเจ็กต์ (object) 4 ประเภทของ git
-
การเปลี่ยนเส้นทางโฟลเดอร์และการเปลี่ยนชื่อไฟล์คือการทำงานแบบเดียวกัน
-
การปรับโครงสร้างโฟลเดอร์ใหม่ และ git ที่ฉลาดกว่าที่คิด
-
การอนุมานของ git
-
กระบวนการอนุมาน renamed และ edit-renamed ของ git
ขั้นที่ 1: คัดเลือกผู้เข้าชิง
ขั้นที่ 2: เปรียบเทียบ hash ของไฟล์ (หา renamed)
ขั้นที่ 3: เปรียบเทียบความคล้ายคลึงกันระหว่างไฟล์ (หา edit-renamed)
→ นี่ไม่ใช่การคำนวณที่แพงเกินไปหรือ?
-
เบื้องหลังเรื่องเล่าของการลองผิดลองถูก
-
สรุป
1 ความคิดเห็น
พูดนอกเรื่องนิดหนึ่ง แต่ดูเหมือนว่า Git กับ GitHub จะมีวิธีตรวจจับพาธไฟล์ต่างกัน
ใน Git มันถูกมองว่าเป็นการ rename อย่างชัดเจน แต่พอเปิด PR บน GitHub กลับเหมือนเป็นการลบไฟล์แล้วอัปโหลดอีกไฟล์หนึ่ง ทำให้ไม่มี diff ขึ้นมา เลยรู้สึกไม่สะดวกบ่อยมาก...