Git 2.40 ซอร์สคอนโทรลรีลีส

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

เมื่อเทียบกับรุ่นก่อนหน้า เวอร์ชันใหม่มีการเปลี่ยนแปลง 472 รายการ ซึ่งเตรียมโดยการมีส่วนร่วมของนักพัฒนา 88 คน โดย 30 คนมีส่วนร่วมในการพัฒนาเป็นครั้งแรก นวัตกรรมหลัก:

  • สคริปต์ git-jump ได้เพิ่มการรองรับสำหรับตัวแก้ไข Emacs นอกเหนือจากตัวแก้ไข Vim ที่รองรับก่อนหน้านี้ Git-jump ใช้เพื่อส่งข้อมูลเกี่ยวกับตำแหน่งในไฟล์ไปยังโปรแกรมแก้ไขข้อความเพื่อการนำทางอย่างรวดเร็วและข้ามไปที่การแก้ไขโค้ดในตำแหน่งเฉพาะ ตัวอย่างเช่น สามารถใช้ git-jump เพื่อข้ามในตัวแก้ไขระหว่างบรรทัดที่เกิดจากการแยกวิเคราะห์ข้อขัดแย้งในการผสาน การประเมินความแตกต่าง และดำเนินการค้นหา (คุณสามารถทำ "git jump grep foo" จากนั้นข้ามอย่างรวดเร็วระหว่างตำแหน่งที่มี wildcard "foo" เกิดขึ้น)
  • "git cat-file" ให้การสนับสนุนการใช้ตัวเลือก "-s" และ "--batch-check" พร้อมกับ "--use-mailmap" เพื่อกำหนดขนาดของวัตถุได้อย่างถูกต้อง โดยคำนึงถึงการเปลี่ยนตัวระบุบัญชีตาม การผูกอีเมลที่ระบุในไฟล์ mailmap (ก่อนหน้านี้ตัวเลือก "--use-mailmap" ส่งผลต่อผลลัพธ์ของเนื้อหาเท่านั้น แต่ไม่ได้คำนึงว่าคู่ชื่อ/อีเมลเก่าและที่ถูกแทนที่อาจมีขนาดแตกต่างกัน)
  • เพิ่มตัวเลือก "--source" ให้กับคำสั่ง "git check-attr" เพื่อเลือกต้นไม้ที่มีไฟล์ ".gitattributes" ที่จำเป็น ซึ่งจะใช้ในการกำหนดคุณลักษณะที่แท้จริงหากมีไฟล์ ".gitattributes" หลายไฟล์ ในพื้นที่เก็บข้อมูล
  • การใช้งานคำสั่ง “git bisect” จะถูกเขียนใหม่ในภาษา C และรวมอยู่ในไฟล์ปฏิบัติการ git หลัก (ก่อนหน้านี้คำสั่งถูกนำมาใช้ในรูปแบบของสคริปต์ Shell)
  • การใช้งานเชลล์แบบเก่าของคำสั่ง “git add —interactive” ได้ถูกลบออกไปแล้ว (ใน git 2.26 มีการเสนอเวอร์ชัน C ในตัว แต่การใช้งาน Shell แบบเก่ายังคงใช้งานได้และได้รับการควบคุมโดยการตั้งค่า add.interactive.useBuiltin)
  • เพิ่มตัวเลือก '--merge-base' ในคำสั่ง 'git merge-tree'
  • เพิ่มตัวเลือก "--abbrev=" ในคำสั่ง "git range-diff" "
  • เพิ่มความสามารถในการแทนที่ตัวแก้ไขรายการสำหรับโหมดโต้ตอบของคำสั่ง rebase โดยการตั้งค่าตัวแปร GIT_SEQUENCE_EDITOR ผ่านคำสั่ง "git var" ซึ่งคล้ายกับ "git var GIT_EDITOR"
  • เพิ่มการรองรับรหัสผ่านที่มีระยะเวลาจำกัดลงในระบบย่อยของบัญชีแล้ว
  • สคริปต์การป้อนข้อมูลเสร็จสิ้นสำหรับ Bash ตอนนี้มีโหมดไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

ที่มา: opennet.ru

เพิ่มความคิดเห็น