•
6 ต.ค. เวลา 03:19 • วิทยาศาสตร์ & เทคโนโลยี

Git 2.56 เปิดตัว เพิ่ม git add --resolved ป้องกัน conflict marker, เร่ง merge-base เร็วขึ้น 70 เท่า

โดย
Git เปิดตัวเวอร์ชัน 2.56.0 โดยมีผู้ร่วมพัฒนา 104 คน (ใหม่ 39 คน) พร้อมฟีเจอร์และ bug fixes มากมาย โดย GitHub ได้สรุปไฮไลต์ไว้ดังนี้
  • ★
    ​1. git add --resolved – Stage เฉพาะไฟล์ที่แก้ conflict แล้ว
- ใช้ stage เฉพาะ path ที่ unmerged ใน index
- สแกนหา conflict marker ก่อน stage – หากพบ จะไม่ stage อะไรเลย (all-or-nothing)
- ปลอดภัยกว่า git add -u หรือ git add -A (ที่อาจ stage ไฟล์ที่ไม่เกี่ยวข้องหรือยังมี marker)
  • ★
    ​2. เร่งความเร็ว merge-base เร็วขึ้นถึง 70 เท่า
- ปรับปรุงการหยุด traversal เมื่อไม่สามารถมี merge base ใหม่ได้
- ผลจริง: monorepo หนึ่งลดจาก 0.68 วินาที → 0.01 วินาที
- แก้ปัญหา Linux kernel: git merge-base --all v4.8 v4.9 จาก 167,441 steps → 3,887 steps
  • ★
    ​3. Path-walk Repack pack เล็กลง 71%
- ตัวอย่าง Fluent UI: จาก 558.5 MB → 164.4 MB
- เวอร์ชัน 2.56 รองรับ bitmap และ delta islands (เดิม incompatible)
- ยังไม่เปิดเป็นค่าเริ่มต้น แต่ปลดล็อกให้ host ขนาดใหญ่ทดลองได้
  • ★
    ​4. เครื่องมือใหม่และปรับปรุง
- git history drop <commit> (ทดลอง) – ลบ commit และ replay ลูกหลาน (ไม่รองรับ merge/root)
- git refs – รวมคำสั่งจัดการ ref (create, update, delete, rename)
- git branch --delete-merged – ลบ branch ที่รวม upstream แล้ว (มี --dry-run)
- git bisect run --reset-when-found – reset อัตโนมัติเมื่อเจอ commit ที่ทำให้ regression
- git replay --linearize (ทดลอง) – flatten merge topology
- แก้คำสั่งผิด – git push origin/main → แนะนำ git push origin main
- git repack --drop-filtered – ลบ blob ใหญ่ที่ดึงมา on-demand (ประหยัดพื้นที่)
- git log --follow – ติดตาม path ได้แม่นยำขึ้น (รองรับ non-linear history)
- git log --graph – จัด indent visual roots (ปิดได้ด้วย --no-graph-indent)
  • ★
    ​5. ปรับปรุงประสิทธิภาพภายใน
- Reftable writes – ลดการโหลดซ้ำ (filesystem-stat คงที่)
- Packfiles – ลบ O(N²) (จาก 4.5 วินาที → เร็วขึ้นมากใน repo ที่มี 37,815 packs)
- Reftable tombstones – จาก 13 วินาที → 0.2 วินาที
- git diff บน Chromium (500k index entries) – จาก 8 นาที → 0.07 วินาที
2
✏️ Shoper Gamer
Credit :
👇
  • ●
    ​https://github.blog/open-source/git/highlights-from-git-2-56/
โฆษณา