Git 2.31 พร้อมใช้งานแล้วและมาพร้อมกับการบำรุงรักษาคอมไพล์

ไม่กี่วันที่ผ่านมา มีการประกาศการเปิดตัว Git 2.3 เวอร์ชันใหม่หนึ่งในระบบควบคุมเวอร์ชันที่ได้รับความนิยมเชื่อถือได้และมีประสิทธิภาพสูงมอบเครื่องมือการพัฒนาที่ไม่เป็นเชิงเส้นที่ยืดหยุ่นตามการแยกสาขาและการรวมเข้าด้วยกัน

เมื่อเทียบกับเวอร์ชันก่อนหน้ามีการนำการเปลี่ยนแปลง 679 รายการมาใช้ ในเวอร์ชันใหม่ที่เตรียมไว้ ด้วยการมีส่วนร่วมของนักพัฒนา 85 คนซึ่ง 23 คนเข้าร่วมในการพัฒนาเป็นครั้งแรก

Git 2.31 คุณสมบัติใหม่ที่สำคัญ

ใน Git 2.31 เวอร์ชันใหม่นี้ การเพิ่มคำสั่ง "git maintenance" จะถูกเน้น นี้ อนุญาตให้ทำงานเป็นระยะในระบบที่ไม่รองรับ cron. ตัวอย่างเช่นด้วยคำสั่งใหม่คุณสามารถจัดเตรียมเพื่อเริ่มกระบวนการแพ็กเกจที่เก็บเป็นระยะเพื่อที่คุณจะได้ไม่ต้องรอให้การล็อกที่เก็บเสร็จสมบูรณ์เมื่อการทำแพ็กเกจเสร็จสิ้นโดยอัตโนมัติเมื่อมีการรันคำสั่งหลายคำสั่ง

การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งก็คือ เพิ่มการสนับสนุนเพื่อเก็บดัชนีย้อนกลับบนดิสก์ (รีวินเดกซ์) สำหรับไฟล์แพ็คเกจ เนื่องจาก Git จัดเก็บข้อมูลทั้งหมดในรูปแบบของวัตถุซึ่งเก็บไว้ในไฟล์แยกกัน เพื่อปรับปรุงประสิทธิภาพในการทำงานกับที่เก็บอ็อบเจ็กต์จะถูกวางเพิ่มเติมในไฟล์แพ็กเกจซึ่งข้อมูลจะถูกนำเสนอในรูปแบบของสตรีมของอ็อบเจ็กต์ที่ตามมา

สำหรับแต่ละไฟล์แพ็กเกจ ไฟล์ดัชนี (.idx) ถูกสร้างขึ้นทำให้สามารถใช้ตัวระบุอ็อบเจ็กต์ได้ เพื่อกำหนดออฟเซ็ตในไฟล์แพ็กเกจที่จัดเก็บอ็อบเจ็กต์นี้อย่างรวดเร็ว ดัชนีผกผัน (.rev) เสนอใน Git 2.31 มีวัตถุประสงค์เพื่อปรับปรุงกระบวนการกำหนดตัวระบุวัตถุ จากข้อมูลเกี่ยวกับตำแหน่งของวัตถุในไฟล์แพ็กเกจ

ก่อนหน้านี้การแปลงดังกล่าวทำได้ทันทีในระหว่างการวิเคราะห์ จากไฟล์แพ็คเกจ และมันถูกเก็บไว้ในหน่วยความจำเท่านั้น ซึ่งไม่อนุญาตให้นำดัชนีดังกล่าวกลับมาใช้ซ้ำและบังคับให้สร้างดัชนีทุกครั้ง การดำเนินการสร้างดัชนีคือ ลด เพื่อสร้างอาร์เรย์ของคู่ตำแหน่งออบเจ็กต์และจัดเรียงตามตำแหน่งซึ่งอาจใช้เวลานานสำหรับไฟล์แพ็กเกจขนาดใหญ่

ในทางกลับกันเราจะพบว่า เพิ่มการเพิ่มประสิทธิภาพการทำงาน ขึ้นอยู่กับลักษณะที่ปรากฏ ในรูปแบบไฟล์ของแผนภูมิยืนยันซึ่งใช้เพื่อเพิ่มประสิทธิภาพการเข้าถึงข้อมูลเกี่ยวกับการยืนยันข้อมูลใหม่เกี่ยวกับหมายเลขรุ่นของการยืนยันซึ่งสามารถใช้เพื่อเร่งการดำเนินการเพิ่มเติมด้วยการยืนยัน

นอกจากนี้ เพิ่มความสามารถในการแทนที่ชื่อสาขาเริ่มต้นในที่เก็บใหม่ (การกำหนดค่า init.defaultBranch) เมื่อเข้าถึงที่เก็บภายนอกคอมไพล์จะพยายามตรวจสอบสาขาที่ HEAD ชี้ไปนั่นคือถ้าเซิร์ฟเวอร์ภายนอกใช้สาขา "หลัก" ตามค่าเริ่มต้นการดำเนินการ "git clone" จะพยายามค้นหา "main" ในเครื่อง

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • ตัวเลือก "–disk-use" เพิ่มลงในคำสั่ง "git rev-list" เพื่อแสดงสรุปขนาดของวัตถุ
  • การสนับสนุนสำหรับไลบรารีนิพจน์ทั่วไปที่เลิกใช้แล้ว PCRE1 ถูกลบออกแล้ว
  • ให้ความสามารถในการบังคับห้ามใช้ทางลัดโดยไม่ขึ้นอยู่กับอัลกอริทึมการแฮช การห้ามถูกเปิดใช้งานโดยการกำหนดค่า "no" ให้กับพารามิเตอร์ core.abensed
  • เพิ่มตัวเลือก "–path-format" ในคำสั่ง "git rev-parse" เพื่อกำหนดเอาต์พุตของพา ธ สัมพัทธ์หรือสัมบูรณ์อย่างชัดเจน
  • สคริปต์เติมข้อความอัตโนมัติของ Bash ทำให้ง่ายต่อการเพิ่มกฎการเติมคำสั่งย่อย "git" ที่กำหนดเอง
  • เพิ่มตัวเลือก "–stdin" ในคำสั่ง "git bundle" เพื่ออ่านลิงก์จากอินพุตสตรีมมาตรฐาน
  • มีการเพิ่มตัวเลือก "–left-only" และ "–right-only" ลงในคำสั่ง "git range-diff" เพื่อแสดงช่วงที่เปรียบเทียบเพียงด้านเดียว
  • เพิ่มตัวเลือก "–skip-to = »ไปที่คำสั่ง« git difftool »เพื่อดำเนินการเซสชันที่ถูกขัดจังหวะต่อจากเส้นทางที่กำหนดเอง
  • จรรยาบรรณ (Code of Conduct) ซึ่งกำหนดหลักการพื้นฐานสำหรับการแก้ไขความขัดแย้งระหว่างนักพัฒนาซอฟต์แวร์ได้รับการอัปเดตเป็นเวอร์ชัน 2.0 (ก่อนหน้านี้ใช้เวอร์ชัน 1.4)

ในที่สุด หากคุณต้องการทราบข้อมูลเพิ่มเติมคุณสามารถปรึกษา ลิงค์ต่อไปนี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา