Using Jujutsu
We recommend using Jujutsu tool for working with Git repositories. Is totally optional but can make developer life easier by managing branches and merge flows.
JJ is git-compatible, so from the perspective of other tools, there’s no noticeable difference between using JJ or Git. However, JJ introduces a more intuitive and streamlined workflow.
Why Use JJ?
-
Git Compatibility: JJ seamlessly integrates with Git, allowing you to use both tools interchangeably.
-
Simplified Model: JJ replaces Git’s commit-based model with
changes, which is how a commit evolves over time, making it easier to manage and reason about changes. -
Easier History Rewriting: JJ simplifies operations like rebase, amend, and reordering changes, making it more straightforward to rewrite history when needed, and leading to a cleaner history.
Learning Resources
-
JJ Tutorial: Get started with JJ using the official tutorial
-
Git Comparison: Understand the key differences between Git and JJ with the Git comparison guide
Key Features
-
Changes: Changes in JJ are tracked as changes instead of commits. This simplifies the history and makes it easier to manage.
-
Branchless Workflow: JJ encourages a more linear workflow by minimizing the need for branches, which can reduce complexity.
-
Automatic changes: Every operation in JJ creates a new change, ensuring a clear and consistent history.
Getting Started
To start using JJ with this project, install JJ by following the installation instructions. Then use JJ commands to interact with the repository. For example:
-
jj new: Create a new change. -
jj split: Split the changes in a change -
jj log: View the project’s history. -
jj rebase: Reorder or edit changes.
On first usage you may need to run jj git init --colocate to initialize a new Jujutsu working environment.