เมื่อเร็ว ๆ นี้ มีการประกาศการเปิดตัวเวอร์ชันใหม่ ระบบควบคุมซอร์สโค้ดแบบกระจาย Git 2.38ซึ่งเมื่อเทียบกับเวอร์ชันก่อนหน้า มีการเปลี่ยนแปลง 699 รายการในเวอร์ชันใหม่ ซึ่งจัดทำขึ้นโดยมีส่วนร่วมของนักพัฒนา 92 คน โดย 24 คนเข้าร่วมในการพัฒนาเป็นครั้งแรก
สำหรับผู้ที่ไม่คุ้นเคยกับ Git คุณควรทราบสิ่งนี้ เป็นหนึ่งในระบบควบคุมเวอร์ชันยอดนิยม ซอฟต์แวร์ที่น่าเชื่อถือและมีประสิทธิภาพสูงซึ่งให้เครื่องมือการพัฒนาที่ไม่เชิงเส้นที่ยืดหยุ่นโดยอิงจากส้อมและการควบรวมของส้อม
เพื่อให้มั่นใจถึงความสมบูรณ์ของประวัติและการต่อต้านการเปลี่ยนแปลง backdating การแฮชโดยนัยของประวัติก่อนหน้าทั้งหมดจะถูกใช้ในแต่ละคอมมิต นอกจากนี้ยังสามารถตรวจสอบลายเซ็นดิจิทัลของนักพัฒนาของแท็กแต่ละรายการและคอมมิตได้อีกด้วย
Git 2.38 คุณสมบัติใหม่ที่สำคัญ
ในเวอร์ชันใหม่ของ Git 2.38 ที่นำเสนอนี้ขอเน้นว่า รวมยูทิลิตี้สเกลาร์ พัฒนาโดย Microsoft สำหรับจัดการพื้นที่เก็บข้อมูลขนาดใหญ่ ยูทิลิตี้นี้เดิมเขียนด้วย C # แต่เวอร์ชัน C ที่แก้ไขแล้วจะรวมอยู่ใน git ยูทิลิตี้ใหม่ แตกต่างจากคำสั่ง git โดยรวมคุณสมบัติและการตั้งค่าเพิ่มเติม ค่าเริ่มต้นที่ส่งผลต่อประสิทธิภาพเมื่อทำงานกับที่เก็บขนาดใหญ่มาก
ตัวอย่างเช่น เมื่อใช้สเกลาร์ สิ่งต่อไปนี้จะมีผล:
- โคลนบางส่วนเพื่อทำงานกับสำเนาที่เก็บที่ไม่สมบูรณ์
- กลไกการติดตามการเปลี่ยนแปลงระบบไฟล์ในตัว (FSMonitor) ซึ่งช่วยลดความจำเป็นในการแสดงรายการไดเร็กทอรีการทำงานทั้งหมด
- ดัชนีที่ครอบคลุมวัตถุในแพ็คเกจไฟล์ต่างๆ (หลายแพ็คเกจ)
- คอมมิตไฟล์กราฟด้วยดัชนีกราฟคอมมิตที่ใช้เพื่อเพิ่มประสิทธิภาพการเข้าถึงข้อมูลคอมมิต
- งานพื้นหลังเป็นระยะเพื่อรักษาโครงสร้างที่ดีที่สุดของที่เก็บในพื้นหลังโดยไม่ปิดกั้นเซสชันแบบโต้ตอบ (ทำงานหนึ่งครั้งต่อชั่วโมงเพื่อรับวัตถุใหม่จากที่เก็บระยะไกลและอัปเดตไฟล์ด้วยกราฟการคอมมิท และกระบวนการบรรจุภัณฑ์ของ พื้นที่เก็บข้อมูลเริ่มต้นทุกคืน)
- โหมด "sparseCheckoutCone" ที่จำกัดรูปแบบที่ถูกต้องในการโคลนบางส่วน
การเปลี่ยนแปลงอื่นที่นำเสนอใน Git 2.38 เวอร์ชันใหม่นี้คือ ตัวเลือก “–update-refs” เป็นคำสั่ง “git rebase” เพื่ออัปเดตสาขาที่ขึ้นต่อกันซึ่งตัดกับสาขาที่ย้าย ดังนั้นคุณไม่จำเป็นต้องชำระเงินด้วยตนเองแต่ละสาขาเพื่อสลับไปยังการคอมมิตที่ต้องการ
นอกจากนี้ยังมีการเน้นย้ำว่า รูปแบบไฟล์บิตแมปได้รับการปรับให้เหมาะกับพื้นที่เก็บข้อมูลขนาดใหญ่- เพิ่มตารางดัชนีที่เป็นตัวเลือกพร้อมรายการคอมมิตที่เลือกและออฟเซ็ต
นอกจากนี้ เราจะพบว่าในคำสั่ง "git merge-tree" ใช้โหมดใหม่ ซึ่งใน, ขึ้นอยู่กับการคอมมิตเฉพาะสองรายการ ต้นไม้จะถูกคำนวณด้วยผลลัพธ์ ของการรวมราวกับว่าประวัติของการกระทำเหล่านี้ถูกรวมเข้าด้วยกัน
เพิ่มการกำหนดค่าแล้ว "safe.barerepository" เพื่อควบคุมว่าที่เก็บที่ไม่มี tree ของการทำงาน, พวกเขาสามารถวางไว้ในที่เก็บ git อื่น ๆ เมื่อตั้งค่าเป็น "ชัดเจน" ที่เก็บเปล่าที่อยู่ในไดเร็กทอรีด้านบนจะสามารถทำงานได้เท่านั้น เพื่อให้สามารถใส่ที่เก็บเปล่าในไดเร็กทอรีย่อย ต้องใช้ค่า "ทั้งหมด"
จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:
- เพิ่มตัวเลือก “-m” (“–max-count”) ให้กับคำสั่ง “git grep” ซึ่งคล้ายกับตัวเลือก GNU grep ที่มีชื่อเดียวกันและอนุญาตให้คุณจำกัดจำนวนผลการแข่งขัน
- คำสั่ง "ls-files" ใช้ตัวเลือก "--format" เพื่อปรับแต่งฟิลด์เอาต์พุต (เช่น คุณสามารถเปิดใช้งานเอาต์พุตของชื่ออ็อบเจ็กต์ โหมด ฯลฯ)
- ใน "git cat-file" เมื่อแสดงเนื้อหาของอ็อบเจ็กต์ ความสามารถในการพิจารณาลิงก์ของผู้เขียนไปยังอีเมล ซึ่งระบุไว้ในไฟล์แมปเมล
- คำสั่ง "git rm" ทำให้เข้ากันได้กับดัชนีบางส่วน
- ปรับปรุงการทำงานของคำสั่ง "git mv AB" เมื่อย้ายไฟล์จากพื้นที่ทำงานที่มีดัชนีบางส่วนในโหมด "กรวย" ไปยังพื้นที่ภายนอกที่ไม่ได้ใช้โหมดนี้
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.