Nguồn: Steve Klabnik’s Jujutsu Tutorial

Tóm tắt

Bài viết giới thiệu Jujutsu (jj) — một version control system (VCS) mới được thiết kế để tương thích với Git nhưng cải thiện đáng kể trải nghiệm developer. jj được phát triển ban đầu bởi một kỹ sư tại Google và hiện là dự án open source được cộng đồng duy trì. Điểm khác biệt quan trọng là jj dùng Git làm storage backend, nghĩa là repo jj hoàn toàn tương thích với GitHub, GitLab và các dịch vụ Git hosting hiện tại.

Điểm đổi mới cốt lõi của jj là khái niệm “working copy as a commit” — trong Git, working directory là trạng thái mờ giữa các commit, nhưng jj luôn coi working copy là một commit thực sự. Điều này đơn giản hóa nhiều thao tác phức tạp trong Git như stash, rebase interactive, và conflict resolution. Không còn cần nhớ git stash pop trước khi switch branch.

jj có workflow đơn giản hơn Git ở nhiều điểm: không cần git add (thay đổi được tracked tự động), không có staging area, và rebasing/amending là thao tác bình thường. So sánh với Sapling (VCS nội bộ của Meta được open source), jj có hai lợi thế: được cộng đồng duy trì thực sự (không phải một công ty đơn lẻ), và dùng Git backend thay vì custom storage.

Bài viết là phần mở đầu của một tutorial toàn diện, phù hợp cho developer quen dùng Git muốn hiểu tại sao jj thu hút ngày càng nhiều attention trong cộng đồng hacker và systems programmer.

👉 Đọc bài gốc