# ค่าเริ่มต้นแฮชใหม่ของ Git – มันหมายถึงอะไร

Published: 2026-10-02

ค่าเริ่มต้น SHA-256 ที่เสนอของ Git สร้างขอบเขตความเข้ากันได้สำหรับที่เก็บใหม่ เราตรวจสอบแผนอย่างเป็นทางการ ข้อโต้แย้งของ Scott Chacon และข้อยกเว้นการแสดงตัวอย่าง GitHub ที่ใช้งานได้ จากนั้นครอบคลุม Pi 1.0 และ SvelteKit 3 คำตัดสิน: NEEDS REVIEW.

Canonical: https://thedailydiff.dev/th/video/2026-10-02-git-hash-split/

## วิดีโอนี้ครอบคลุมอะไรบ้าง

- ทำไมที่เก็บ Git สองแห่งถึงปฏิเสธที่จะสื่อสารกันได้?
- Git 3 เปลี่ยนแปลงอะไรไปบ้าง?
- ทำไมต้องเปลี่ยน SHA-1 ถ้า Git ตรวจพบการชนกัน?
- การตรวจสอบความเข้ากันได้ในเครื่องของเราแสดงอะไร?
- อะไรที่รอดจากการขัดข้องใน Pi Durable?

## บท

- 0:00 ทำไมที่เก็บ Git สองแห่งถึงปฏิเสธที่จะสื่อสารกันได้?
- 0:34 Git 3 เปลี่ยนแปลงอะไรไปบ้าง?
- 0:58 ทำไมต้องเปลี่ยน SHA-1 ถ้า Git ตรวจพบการชนกัน?
- 1:51 การตรวจสอบความเข้ากันได้ในเครื่องของเราแสดงอะไร?
- 2:49 อะไรที่รอดจากการขัดข้องใน Pi Durable?
- 3:30 SvelteKit 3 โยกย้ายอะไรให้คุณบ้าง?
- 4:03 ข้อยกเว้นที่ใช้งานได้ของ GitHub พิสูจน์อะไร?
- 4:38 ทำไมคำตัดสินของฉันถึงขึ้นอยู่กับชุดเครื่องมือทั้งหมด?

## บทถอดเสียงที่แปลแล้ว

แปลจากการบรรยายภาษาอังกฤษต้นฉบับ เสียงและคำบรรยายที่มีให้จะควบคุมโดย YouTube

### ทำไมที่เก็บ Git สองแห่งถึงปฏิเสธที่จะสื่อสารกันได้?

0:00 คุณคงคิดว่าการอัปเกรด Git ทำให้เครื่องมือของคุณยังคงสื่อสารกันได้ ค่าเริ่มต้นแฮชใหม่ที่วางแผนไว้ของ Git สร้างที่เก็บข้อมูลที่รูปแบบเก่าในปัจจุบัน ไม่สามารถสื่อสารด้วยได้ ในวิดีโอนี้ ทำไมถึงต้องเปลี่ยน? อะไรจะพัง? ใครพร้อมแล้ว? มีข้อยกเว้นที่ใช้งานได้บน GitHub อยู่แล้ว ผมจะแสดงให้คุณเห็นว่ามันพิสูจน์อะไรได้ในตอนท้าย วันศุกร์ที่สองตุลาคม และนี่คือ The Daily Diff

0:18 ในวันพฤหัสบดี ผู้ร่วมก่อตั้ง GitHub เรียกการเปลี่ยนแปลงที่วางแผนไว้ของ Git ว่าเป็นความผิดพลาดที่มีค่าใช้จ่ายสูง Pi ได้จัดส่ง agent harness ใหม่ และ SvelteKit ได้จัดส่งการโยกย้ายอีกครั้ง Scott Chacon ช่วยสร้าง GitHub และเขียน Pro Git ดังนั้นข้อร้องเรียนนี้มาจาก ภายในองค์กร องค์กรยังขายเครื่องมือ Git ด้วย ก่อนอื่น แผนการจริง

### Git 3 เปลี่ยนแปลงอะไรไปบ้าง?

0:35 Git three จะตั้งค่าเริ่มต้นที่เก็บข้อมูลใหม่เป็น SHA สองห้าหก เมื่อไลบรารีและบริการโฮสติ้งพร้อมที่จะรองรับ เอกสารอย่างเป็นทางการไม่ได้ระบุวันที่เผยแพร่และยังคงรองรับ SHA one ที่เก็บข้อมูลที่มีอยู่ของคุณไม่ได้เปลี่ยนรูปแบบโดยอัตโนมัติเมื่อคุณอัปเกรด ไฟล์ปฏิบัติการ นั่นเป็นสิ่งสำคัญที่ต้องจำก่อนที่กลุ่มแชทของคุณจะกำหนดเวลาการ ย้ายข้อมูลฉุกเฉิน เหตุการณ์ดราม่าคือค่าเริ่มต้นที่เสนอ และกำหนดเวลาปัจจุบันคือปฏิทินว่างเปล่า

### ทำไมต้องเปลี่ยน SHA-1 ถ้า Git ตรวจพบการชนกัน?

0:58 ทำไมต้องเปลี่ยนด้วยซ้ำ? Git ตั้งชื่ออ็อบเจกต์โดยการแฮชเนื้อหาของมัน ไฟล์ถูกป้อนเข้าสู่ทรี และคอมมิตอ้างอิงถึงทรีและคอมมิตก่อนหน้า นั่นทำให้คุณมีความสมบูรณ์ตลอดประวัติ เปลี่ยนรูปแบบการแฮชและชื่ออ็อบเจกต์ก็เปลี่ยนไปด้วย รวมถึงการอ้างอิงที่เก็บอยู่ในอ็อบเจกต์อื่น ๆ Chacon ย้อนกลับไปหา Linus Torvalds ผู้สร้าง Git โดยแย้งว่าการกระจายที่

1:17 เชื่อถือได้มีความสำคัญ นั่นเป็นจุดยืนทางประวัติศาสตร์ และ Linus เลือก SHA one กลับไป ในปีสองพันห้า กรณีด้านความปลอดภัยมีการเปลี่ยนแปลงตั้งแต่นั้นมา นักวิจัยได้แสดงการชนกันของ SHA one ในปีสองพันสิบเจ็ด และต่อมาได้แสดงการโจมตีแบบเลือกคำนำหน้ากับใบรับรอง PGP identity Git สมัยใหม่ตรวจจับการโจมตีที่ชนกันที่รู้จักด้วย SHA one ที่แข็งแกร่งขึ้น ผู้ดูแลต้องการการป้องกันการโจมตีในอนาคตด้วย ซึ่งเป็นสิ่งสมเหตุสมผลที่ต้องการจากการลงนาม

1:41 Chacon คิดว่าค่าใช้จ่ายในระบบนิเวศได้ความปลอดภัยน้อยเกินไป เขาเสนอให้ลงนามในผลรวมตรวจสอบที่แข็งแกร่งแยกต่างหากของเนื้อหาของทรี ในขณะที่ยังคงใช้การระบุที่อยู่ของอ็อบเจกต์ในปัจจุบัน อะไรจะพัง? ผมสร้างทั้งสองรูปแบบในเครื่องและแฮชไฟล์เล็ก ๆ ไฟล์เดียวกัน

### การตรวจสอบความเข้ากันได้ในเครื่องของเราแสดงอะไร?

1:54 ชื่ออ็อบเจกต์หนึ่งมีตัวอักษรเลขฐานสิบหกสี่สิบตัว อีกอันมีหกสิบสี่ตัว จากนั้นผมก็ลองดึงข้อมูลระหว่างกัน Git ที่ผมติดตั้งปฏิเสธด้วยอัลกอริทึมที่ไม่ตรงกัน ซึ่งเป็นช่องว่างความเข้ากันได้ที่อธิบายไว้ในคู่มือทางการปัจจุบันอย่างแท้จริง นี่ใช้ Git เก่าที่ผมติดตั้งไว้ ดังนั้นมันจึงบอกเราเกี่ยวกับขอบเขตในปัจจุบัน การเรียกมันว่าเป็นการทดสอบ Git three ที่ยังไม่ได้เผยแพร่จะเป็นการบัญชีที่สร้างสรรค์ งานการโยกย้ายขยายไปถึงสคริปต์ที่สันนิษฐานความยาวของแฮช และระบบที่เชื่อมโยงกับชื่ออ็อบเจกต์

2:19 การแฮชประวัติใหม่ต้องมีการจับคู่ระหว่างข้อมูลระบุตัวตนเหล่านั้น การออกแบบการเปลี่ยนผ่านของ Git รวมถึงการจับคู่และการจัดการลายเซ็น ความพร้อมในการใช้งานมีความสำคัญ เพราะเอกสารการออกแบบไม่ได้อัปเกรด ไลบรารีที่ซ่อนอยู่ในเครื่องมือสำหรับนักพัฒนาที่คุณชื่นชอบ นั่นคือต้นทุนของมนุษย์ในข้อโต้แย้งของ Chacon ผู้ดูแลเครื่องมือทุกคนจะได้งานเข้ากันได้อีกงาน ในขณะที่ผู้ใช้ค้นพบว่าระบบควบคุมเวอร์ชันของพวกเขาตอนนี้ต้องการระบบควบคุมเวอร์ชัน สำหรับตอนนี้ ให้ทดสอบโฮสต์และเครื่องมือของคุณก่อนที่จะเลือกรูปแบบใหม่สำหรับ

2:44 โครงการ ทีมที่มีอยู่สามารถใช้รูปแบบปัจจุบันต่อไปในขณะที่ระบบนิเวศนั้น ตามทัน ในขณะเดียวกัน Pi ก็ถึงเวอร์ชันหนึ่งจุดศูนย์

### อะไรที่รอดจากการขัดข้องใน Pi Durable?

2:51 มันคือตัวควบคุมเอเจนต์การเขียนโค้ดจาก Earendil พร้อมการสนับสนุน MCP ดั้งเดิมผ่าน Codemode และเครื่องมือที่โหลดเมื่อจำเป็น ทีมเรียกแนวคิดมินิมอลลิสต์ว่าเป็นจุดสำคัญ หากการตั้งค่าเอเจนต์ของคุณมีลักษณะคล้ายรัฐบาลขนาดเล็กอยู่แล้ว การเก็บเครื่องมือออกจากพร้อมท์จนกว่าจะจำเป็นฟังดูเหมือนเป็นการปฏิรูปการบริหาร นอกจากนี้ยังได้เผยแพร่ Pi Durable ซึ่งเป็นเฟรมเวิร์กทดลองแยกต่างหาก งานจะบันทึกจุดตรวจสอบเพื่อให้กระบวนการที่เริ่มต้นใหม่สามารถทำงานที่ค้างอยู่จาก ที่เก็บถาวรได้ รายละเอียดที่สำคัญคือการเล่นซ้ำเครื่องมือ

3:16 เครื่องมือที่ถูกขัดจังหวะด้วยการขัดข้องจะทำงานซ้ำก็ต่อเมื่อมันประกาศว่าปลอดภัยเท่านั้น มิฉะนั้นโมเดลจะถูกบอกว่ามันถูกขัดจังหวะ นั่นเป็นขอบเขตที่มีประโยชน์เมื่อเครื่องมือสามารถใช้เงินได้ ฉันต้องการให้ผู้ช่วยจำรายการ ซื้อของของฉันโดยไม่ต้องฉลองการขัดข้องด้วยการ ซื้อมันสองครั้ง

### SvelteKit 3 โยกย้ายอะไรให้คุณบ้าง?

3:30 SvelteKit three ก็มาถึงเมื่อวันพฤหัสบดีด้วยเช่นกัน โดยย้ายการกำหนดค่าไปที่ Vite และ แทนที่ dollar lib ด้วย hash lib โดยใช้การนำเข้าแพ็กเกจย่อยมาตรฐาน คำสั่งโยกย้ายจะเขียนใหม่เท่าที่ทำได้และทิ้งรายการสิ่งที่ต้องทำไว้สำหรับส่วนที่เหลือ หุ่นยนต์ของคุณสามารถช่วยได้ และส่วนต่างของคุณยังคงสมควรที่จะอ่าน ประกาศยังดึงดูดเพื่อนหุ่นยนต์ของคุณมาช่วยจัดการของเหลือ เรากำลังมาถึงจุดที่การอัปเกรดเฟรมเวิร์กส่งการบ้านและ ครูสอนพิเศษทดแทนที่แนะนำ และฟังก์ชันระยะไกลยังคงต้องใช้ Async Svelte ที่ทดลอง

3:56 หมายเลขเวอร์ชันหลักให้ความมั่นใจ แต่คุณสมบัติแต่ละอย่างมี ป้ายกำกับความพร้อมของตัวเอง ตรวจสอบสิ่งที่คุณใช้อยู่จริง

### ข้อยกเว้นที่ใช้งานได้ของ GitHub พิสูจน์อะไร?

4:03 แล้วใครพร้อมสำหรับรูปแบบใหม่ของ Git? นี่คือข้อยกเว้นนั้น ที่เก็บ GitHub สาธารณะที่มีการนำเสนอของ Brian Carlson ได้ส่งคืน ชื่ออ็อบเจกต์ SHA สองห้าหกเต็มรูปแบบ ผมตรวจสอบ remote สาธารณะโดยตรง สไลด์การนำเสนอเรียกการสนับสนุนว่าเป็นการแสดงตัวอย่างส่วนตัวและกล่าวว่าการสร้างที่เก็บข้อมูล ยังคงมีมา มีความคืบหน้าจริง ๆ อยู่เบื้องหลังห้องรอ นั่นพิสูจน์ว่า GitHub สามารถให้บริการที่เก็บข้อมูลแสดงตัวอย่างนี้ได้

4:24 มันไม่รับประกันใด ๆ เลยว่าการสร้างโครงการปกติหรือการทำงานร่วมกันทั้งหมดของคุณ พร้อมแล้ว ข้อยกเว้นมีขอบเขตการอนุญาต หากคุณต้องการอ่านสิ่งนี้แทนที่จะฟังผมพูด diff จะถูกส่งไปยังกล่องจดหมายของคุณ ทุกเช้า ฟรีที่ the daily diff dot dev ลิงก์ด้านล่าง ดังนั้นคำตัดสินของวันนี้คือ NEEDS REVIEW

### ทำไมคำตัดสินของฉันถึงขึ้นอยู่กับชุดเครื่องมือทั้งหมด?

4:40 ฉันจะเลือกใช้ตัวเลือกแฮชที่แข็งแกร่งกว่า และทดสอบชุดเครื่องมือทั้งหมดก่อนที่จะเปลี่ยน ค่าเริ่มต้น ความเข้ากันได้เป็นส่วนหนึ่งของการส่งมอบการปรับปรุงความปลอดภัย และนั่นคือ diff สำหรับวันนี้ ฉันชื่อ Niko จาก Axrisi ผสานอย่างรับผิดชอบ

## แหล่งที่มา

- [Chacon](https://blog.gitbutler.com/git-3-sha-256) — blog.gitbutler.com
- [Git's official plan](https://git-scm.com/docs/BreakingChanges) — git-scm.com
- [Current interoperability](https://git-scm.com/docs/git-init) — git-scm.com
- [Transition design](https://git-scm.com/docs/hash-function-transition) — git-scm.com
- [Independent collision research](https://sha-mbles.github.io/) — sha-mbles.github.io
- [GitHub preview repository](https://github.com/bk2204/talk-rust-in-git) — github.com
- [Pi 1.0](https://earendil.com/posts/pi-1-0/) — earendil.com
- [Pi Durable](https://earendil.com/posts/pi-durable/) — earendil.com
- [SvelteKit 3](https://svelte.dev/blog/sveltekit-3-is-here) — svelte.dev
- [HN discussion](https://news.ycombinator.com/item?id=49924179) — news.ycombinator.com
