Jujutsu UI โผล่เป็น TUI ชั้นนำสำหรับทางเลือกแทน Git จุดประกายการถ่ายเทียงกันในชุมชนเกี่ยวกับข้อจำกัดของ GitHub

BigGo Editorial Team
Jujutsu UI โผล่เป็น TUI ชั้นนำสำหรับทางเลือกแทน Git จุดประกายการถ่ายเทียงกันในชุมชนเกี่ยวกับข้อจำกัดของ GitHub

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

ความเห็นพ้องต้องกันของชุมชนเกี่ยวกับคุณภาพ TUI

นักพัฒนาที่ได้ทดสอบเครื่องมือ Jujutsu TUI หลายรูปแบบอย่างละเอียดรายงานว่า jjui โดดเด่นในด้านประสิทธิภาพและความใช้งานง่าย ผู้ใช้ชื่นชมอินเทอร์เฟซที่ตอบสนองดี แป้นพิมพ์ลัดที่ใช้งานง่าย และการทำงานที่เสถียรในรีโพซิทอรีต่างๆ เครื่องมือนี้มีฟีเจอร์สำคัญเช่น revision rebasing, change squashing และการจัดการไฟล์แบบโต้ตอบผ่านอินเทอร์เฟซบนเทอร์มินัลที่สะอาดตา

ตัวเลือก TUI อื่นๆ เช่น lazyjj ต้องเผชิญกับการวิจารณ์เรื่องปัญหาประสิทธิภาพและความเสถียร ในขณะที่ทางเลือกคำสั่งบรรทัดที่สร้างด้วย bash scripting ถูกมองว่าไม่น่าเชื่อถือ ความเห็นพ้องต้องกันนี้บ่งบอกว่า jjui ได้จัดการกับความต้องการหลักของนักพัฒนาที่ต้องการอินเทอร์เฟซแบบภาพสำหรับการทำงานของ Jujutsu ได้สำเร็จ

คุณสมบัติหลักของ Jujutsu UI:

  • เปลี่ยน revset พร้อมการเติมข้อความอัตโนมัติและการช่วยเหลือเรื่อง signature
  • การดำเนินการ rebase แบบโต้ตอบในแผนผัง revision
  • การรวม revision พร้อมการเลือกอัตโนมัติ
  • การดำเนินการระดับไฟล์ (แยก, กู้คืน, ดูความแตกต่าง)
  • การจัดการ bookmark และการเข้าถึง operation log
  • หน้าต่างแสดงตัวอย่างพร้อมตัวควบคุมการเลื่อน

ข้อจำกัดของ Stacked PR ใน GitHub ผลักดันการพัฒนาเครื่องมือ

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

GitHub ไม่เข้าใจว่า commits ทั้งหมดสามารถเปลี่ยนแปลงได้เพื่อวัตถุประสงค์ในการรีวิว นี่คือสิ่งที่ทำให้มันเป็น 'ของเล่น'

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

การเปลี่ยนแปลงเวิร์กโฟลว์และการปรับตัวของผู้ใช้

ผู้ใช้ Git มานานรายงานว่าการเปลี่ยนไปใช้ Jujutsu รู้สึกเป็นธรรมชาติ เปรียบเทียบกับการขี่จักรยานหลังจากการปรับตัวในช่วงแรก แนวทางของระบบในการจัดการการเปลี่ยนแปลงช่วยขจัดจุดเจ็บปวดหลายอย่างของ Git แบบดั้งเดิม โดยเฉพาะในเรื่องการจัดการ stash และการทำงาน rebase ผู้ใช้บรรยายถึงการใช้เวิร์กโฟลว์ใหม่เช่น Change-Driven Development ที่ empty commits ทำหน้าที่เป็นรายการสิ่งที่ต้องทำภายในสาขา

อย่างไรก็ตาม การเปลี่ยนแปลงไม่ได้ปราศจากความท้าทาย นักพัฒนามักจะดิ้นรนกับการจำที่จะสร้าง revision ใหม่ก่อนทำการเปลี่ยนแปลง และรีโพซิทอรีที่พัฒนามาแล้วบางแห่งมีเครื่องมือที่คาดหวังโครงสร้างไดเรกทอรีของ Git ปัญหาความเข้ากันได้เหล่านี้สามารถแก้ไขได้โดยใช้ colocated repositories แต่มันเป็นจุดเสียดทานสำหรับการใช้งาน

แบ็กเอนด์ทางเทคนิคและการพัฒนาในอนาคต

Jujutsu ทำงานเป็นเลเยอร์อินเทอร์เฟซใหม่บนระบบจัดเก็บของ Git โดยใช้ไลบรารี Gitoxide Rust สำหรับการจัดการออบเจ็กต์ Git เวอร์ชันล่าสุดได้เริ่มรวมการใช้งาน Git binary โดยตรงสำหรับการทำงานเครือข่าย ปรับปรุงความเข้ากันได้กับระบบการตรวจสอบสิทธิ์และโปรโตคอลต่างๆ

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

ความต้องการของระบบ:

  • เวอร์ชันขั้นต่ำของ Jujutsu : v0.21+
  • เข้ากันได้กับสภาพแวดล้อม terminal
  • ทำงานร่วมกับ Git repositories ที่อยู่ในตำแหน่งเดียวกัน
  • รองรับระบบการยืนยันตัวตนต่างๆ ผ่าน Git binary

บทสรุป

การโผล่ขึ้นของ Jujutsu UI เป็น TUI ที่ได้รับความนิยมสะท้อนถึงความสนใจของนักพัฒนาในวงกว้างในการปรับปรุงเวิร์กโฟลว์การควบคุมเวอร์ชัน แม้ว่าข้อจำกัดของ GitHub เกี่ยวกับ stacked PRs ยังคงเป็นอุปสรรคสำคัญต่อการใช้งาน แต่ความสำเร็จของเครื่องมือนี้แสดงให้เห็นถึงความต้องการอินเทอร์เฟซที่ดีกว่าสำหรับแนวคิดการควบคุมเวอร์ชันสมัยใหม่ เมื่อระบบนิเวศพัฒนาขึ้น การพัฒนาเหล่านี้อาจมีอิทธิพลต่อวิธีที่แพลตฟอร์มหลักเข้าหาการรีวิวโค้ดและการจัดการการเปลี่ยนแปลง

อ้างอิง: Jujutsu UI