- Jujutsu(jj) เป็นระบบควบคุมเวอร์ชันแบบกระจายที่มุ่งเน้นเวิร์กโฟลว์สมัยใหม่ และกำลังเติบโตอย่างรวดเร็วในชุมชนนักพัฒนา/โอเพนซอร์สในช่วงหลัง
- jjui ทำให้สามารถใช้งาน การสำรวจ commit tree อย่างเป็นธรรมชาติ, rebase, squash, diff, บุ๊กมาร์ก ฯลฯ ในสภาพแวดล้อม jj ได้ เช่นเดียวกับ Git TUI เดิม (เช่น Lazygit)
- เวิร์กโฟลว์สำคัญส่วนใหญ่ของ git/jj เช่น การเติมข้อความอัตโนมัติของ revset, rebase, squash, การดูรายละเอียด revision, การย้ายบุ๊กมาร์ก, op log (บันทึกการทำงาน), พรีวิว (Preview) ฯลฯ ถูกนำมาใช้งานผ่านเทอร์มินัล UI
- ทำงานได้รวดเร็วด้วย คีย์ลัดที่เข้าใจง่าย (เช่น
S: squash, l: รายละเอียด, n: revision ใหม่, g: push/fetch, u: undo เป็นต้น)
- ผ่าน หน้าต่างพรีวิว สามารถดูตัวอย่างผลลัพธ์ของคำสั่ง jj สำหรับ revision, ไฟล์ และประวัติการทำงานที่เลือกได้แบบเรียลไทม์
- รองรับ macOS/Linux/Windows : ติดตั้งได้หลายวิธี เช่น Homebrew, AUR, Nix, go install และการดาวน์โหลดไบนารี พร้อมรองรับ jj รุ่นล่าสุด (v0.21+)
4 ความคิดเห็น
ฉันเปลี่ยนมาใช้ jj ได้ประมาณ 2 เดือนแล้ว ต่างจาก git ตรงที่มีเรื่องให้ต้องย้าย commit (ให้แม่นยำคือ changes) ไปมาอยู่บ่อย ๆ และเมื่อสัปดาห์ก่อนก็มี jjui ออกมา ทำให้ความไม่สะดวกของ cli หายไปด้วย
ไม่จำเป็นต้องไปชวนคนอื่นให้มาใช้ด้วยกัน ก็ใช้งานคนเดียวได้สบายซึ่งก็ดีมาก ถึงจะยัง push remote ไปที่ git repository อยู่ แต่ตอนนี้คงไม่มีวันกลับไปใช้ git อีกแล้ว
มีใครใช้
jjในงานจริงอยู่บ้างไหม? ตอนนี้ผมยังไม่ค่อยรู้สึกถึงข้อดีของมันมากนัก เลยอยากรู้ว่าถ้าใช้ในสถานการณ์ที่เพื่อนร่วมงานคนอื่นยังใช้ git/GitHub กันอยู่ มันมีข้อดีอะไรบ้างคุณจะมองว่า
jjเป็นอินเทอร์เฟซสำหรับgitทางเลือกก็ได้ครับ ถ้าตั้งค่าเป็นgit colocateไว้ เครื่องมือส่วนใหญ่ที่รองรับgitก็มักจะทำงานได้ดีเหมือนกันฉันใช้ https://github.com/arxanas/git-branchless
อยู่ครับ
มันใกล้เคียงกับส่วนขยายของ git และทำให้ rebase ง่ายขึ้นมาก เลยพอใจมากครับ