Overview of jujutsu (jj) design philosophy
jujutsu (jj) is a Git-compatible Version Control System (VCS) with several distinct design differences from Git:
- No Staging Area: All changes are directly reflected in the current working commit (
@). - Virtual Commits: The
@symbol represents a virtual commit that exists within the jujutsu system but is not perceived by Git until pushed. This allows users to switch between nodes while automatically preserving current work. - Operation Log: Every action can be reversed using
jj undo. - Tree-based Development: Development happens directly on the commit tree. Bookmarks (similar to Git branches but static/tag-like) are used to mark points and push to remotes; they must be moved manually.