Git 2.37 ได้รับการเผยแพร่แล้วและนี่คือข่าวของมัน

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

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

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

เมื่อเทียบกับรุ่นก่อนหน้านี้ ยอมรับการเปลี่ยนแปลง 395 รายการในเวอร์ชันใหม่ จัดทำขึ้นด้วยการมีส่วนร่วมของนักพัฒนา 75 คน โดย 20 คนเข้าร่วมในการพัฒนาเป็นครั้งแรก

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

เวอร์ชันใหม่เสร็จสิ้นการทำงานของ การรวมดัชนีบางส่วนในคำสั่ง "git show", "git sparse-checkout" และ "git stash". ประสิทธิภาพที่เพิ่มขึ้นอย่างเห็นได้ชัดจากการใช้ดัชนีบางส่วนอยู่ในคำสั่ง "git stash" ซึ่งเร็วขึ้นสูงสุด 80% ในบางสถานการณ์

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

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

สำหรับ Windows และ macOS มีกลไกในตัว เพื่อติดตามการเปลี่ยนแปลงของระบบไฟล์ซึ่ง ไม่จำเป็นต้องแสดงรายการไดเร็กทอรีการทำงานทั้งหมด เมื่อดำเนินการเช่น "สถานะ git" ก่อนหน้านี้ ในการติดตามการเปลี่ยนแปลงผ่าน hooks คุณสามารถเชื่อมต่อยูทิลิตีการติดตามการเปลี่ยนแปลงของระบบไฟล์ภายนอก เช่น Watchman แต่สิ่งนี้จำเป็นต้องติดตั้งโปรแกรมและการกำหนดค่าเพิ่มเติม ฟังก์ชันนี้สร้างขึ้นแล้วและสามารถเปิดใช้งานได้ด้วย "git config core.fsmonitor true"

คำสั่ง "git sparse-checkout" ได้ยกเลิกการสนับสนุนทางเลือกแทนโหมด "--cone" คำจำกัดความเทมเพลตสำหรับการโคลนบางส่วน ซึ่งช่วยให้เมื่อกำหนดส่วนของที่เก็บที่อยู่ภายใต้การดำเนินการโคลน สามารถแสดงรายการไฟล์แต่ละไฟล์โดยใช้ไวยากรณ์ ".gitignore" ซึ่งไม่อนุญาตให้ใช้สำหรับการเพิ่มประสิทธิภาพดัชนีบางส่วน

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

  • ปรับปรุงความยืดหยุ่นในการกำหนดค่าการเรียก fsync() เพื่อล้างการเปลี่ยนแปลงไปยังดิสก์
  • เพิ่มการรองรับสำหรับกลยุทธ์การซิงค์ "แบทช์" ให้กับพารามิเตอร์ "core.fsyncMethod" ซึ่งเพิ่มความเร็วในการทำงานเมื่อเขียนไฟล์แยกกันจำนวนมากโดยการสะสมการเปลี่ยนแปลงในแคชการเขียนใหม่ที่ถูกล้างด้วยการเรียก fsync() เพียงครั้งเดียว
  • คำสั่งการข้ามผ่าน เช่น "git log" และ "git rev-list" ตอนนี้มีตัวเลือก "–since-as-filter=X" เพื่อกรองข้อมูลเกี่ยวกับการคอมมิตที่เก่ากว่า "X"
  • ในคำสั่ง "git remote" การระบุแฟล็ก "-v" จะให้ข้อมูลเกี่ยวกับโคลนบางส่วนของที่เก็บ
  • เพิ่มการตั้งค่า "transfer.credentialsInUrl" ซึ่งสามารถรับค่า "เตือน", "ตาย" และ "อนุญาต" หากพารามิเตอร์ “รีโมท. .url" ระบุข้อมูลประจำตัวเป็นข้อความธรรมดา การพยายามดำเนินการ "get" หรือ "push" จะล้มเหลวหากการตั้งค่า "transfer.credentialsInUrl" ถูกตั้งค่าเป็น "die" หรือคำเตือนหากตั้งค่าเป็น "warn"
  • โดยค่าเริ่มต้น การใช้งานโหมดโต้ตอบใหม่ของคำสั่ง "git add -i" ซึ่งเขียนใหม่จาก Perl เป็น C จะถูกใช้

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


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

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

*

*

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