การเปิดตัวระบบควบคุมแหล่งที่มาแบบกระจาย Git 2.27

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

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

  • การรวมค่าเริ่มต้นที่ใช้ในรุ่นก่อนหน้าได้ถูกลบออกแล้ว เวอร์ชันที่สอง โปรโตคอลการสื่อสารของ Git ซึ่งใช้เมื่อเชื่อมต่อไคลเอนต์กับเซิร์ฟเวอร์ Git จากระยะไกล โปรโตคอลนี้ยังไม่ถือว่าพร้อมใช้งานตามค่าเริ่มต้น เนื่องจากพบปัญหาสำคัญหลายประการที่ต้องพิจารณาเพิ่มเติม
  • เพิ่มชุดตัวเลือกสำหรับการกำหนดค่าการเชื่อมต่อ SSL เมื่อเข้าถึงผ่านพร็อกซี
  • ข้อมูลที่แสดงเมื่อใช้ตัวกรองการแปลง "clean" และ "smudge" ได้รับการขยายแล้ว ตัวอย่างเช่น ขณะนี้วัตถุจะแสดง ต้นไม้-ishซึ่งก้อนข้อมูลที่ถูกแปลงนั้นปรากฏอยู่
  • เพื่อหลีกเลี่ยงความสับสน คำสั่ง "git describe" ตอนนี้จะใช้โหมดเอาต์พุตแบบละเอียด ("--long") เสมอ หากพบแท็กที่ถูกแทนที่ซึ่งเชื่อมโยงกับการคอมมิต (ก่อนหน้านี้ แท็กที่ลงนามหรือมีคำอธิบายประกอบซึ่งอธิบายการคอมมิตจะถูกพิมพ์แม้ว่าจะถูกเปลี่ยนชื่อหรือย้ายไปภายในลำดับชั้น "refs/tags/" แล้วก็ตาม และคำสั่ง "git show tag^0" ไม่ทำงานตามที่คาดไว้ - ไม่พบ "refs/tags/tag" หรือแม้แต่พิมพ์แท็กอื่น)
  • เมื่อรัน "git pull" ระบบจะแสดงคำเตือน เว้นแต่จะตั้งค่าตัวแปรกำหนดค่า pull.rebase ไว้อย่างชัดเจน และใช้ตัวเลือก "--[no-]rebase" หรือ "--ff-only" หากต้องการปิดการแจ้งเตือนสำหรับผู้ที่ไม่ต้องการทำการ rebase ให้ตั้งค่าตัวแปรเป็น "false"
  • ตัวเลือก "git pull" ที่ใช้ร่วมกับ "git fetch" ได้รับการแก้ไขแล้ว ตัวเลือกที่คล้ายกันที่ไม่ได้กล่าวถึงก่อนหน้านี้ได้รับการบันทึกไว้แล้ว และตัวเลือกที่หายไปจะถูกส่งต่อไปยัง "git fetch" แล้ว
  • เพิ่มตัวเลือก "--no-gpg-sign" ให้กับ "git rebase" เพื่อแทนที่การตั้งค่า "commit.gpgSign"
  • เพิ่มความสามารถในการแสดงส่วนหัว "จาก:" และ "หัวเรื่อง:" โดยไม่เปลี่ยนแปลงใน "git format-patch" โดยไม่ต้องแปลงอักขระที่ไม่อยู่ในรูปแบบการเข้ารหัส ASCII
  • มีการเพิ่มตัวเลือก "--show-pulls" ลงใน "git log" ซึ่งทำให้คุณสามารถดูไม่เพียงแค่คอมมิตที่ทำการเปลี่ยนแปลงเท่านั้น แต่ยังรวมถึงการคอมมิตเพื่อรวมการเปลี่ยนแปลงเหล่านี้จากสาขาแยกต่างหากอีกด้วย
  • การจัดการอินพุตแบบโต้ตอบแบบรวมศูนย์ระหว่างส่วนประกอบทั้งหมด และเพิ่มการเรียก fflush() หลังจากแสดงพรอมต์อินพุต แต่ก่อนการดำเนินการอ่าน
  • ใน git rebase คุณสามารถนำการคอมมิตในเครื่องทั้งหมดมาใช้ใหม่ได้โดยไม่ต้องดำเนินการเช็คเอาต์ก่อน แม้ว่าบางส่วนจะถูกผลักไปยังต้นทางก่อนหน้านี้แล้วก็ตาม
  • ตัวแปรการกำหนดค่า 'pack.useSparse' ได้ถูกเปลี่ยนเป็น 'true' เพื่อเปิดใช้งานการเพิ่มประสิทธิภาพที่รายงานไว้ก่อนหน้านี้ว่าเป็นแบบทดลองตามค่าเริ่มต้น
  • ตัวเลือก "--autostash" ได้ถูกเพิ่มเข้าไปใน "git merge" แล้ว
  • ปรับปรุงอินเทอร์เฟซ 'sparse-checkout' แล้ว
  • มีการเพิ่มการดำเนินการใหม่หลายอย่างลงใน 'git update-ref --stdin'
    ช่วยให้สามารถควบคุมธุรกรรมการอัปเดตข้อมูลอ้างอิงได้โดยตรง เช่น การนำการอัปเดตข้อมูลอ้างอิงแบบอะตอมสองขั้นตอนไปใช้กับที่เก็บข้อมูลหลายแห่ง
  • เพิ่มเทมเพลต userdiff สำหรับเอกสาร Markdown
  • ลบข้อจำกัดในการยกเว้นเส้นทางทั้งหมดในเทมเพลตการชำระเงินแบบเบาบางซึ่งส่งผลให้มีต้นไม้ทำงานว่างเปล่า
  • การดำเนินการ "git restore --staged --worktree" ตอนนี้จะตั้งค่าเริ่มต้นเป็นการใช้เนื้อหาของสาขา "HEAD" แทนที่จะแสดงข้อผิดพลาด
  • ทำงานอย่างต่อเนื่องโดยเปลี่ยนไปใช้อัลกอริธึมการแฮช SHA-2 แทน SHA-1
  • โค้ดสำหรับการโต้ตอบกับ GnuPG ได้รับการแก้ไขใหม่

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster