If I'm on a project with change AAA -> BBB, suppose my friend authors CCC and I author DDD.
So my history looks like:
AAA ----> BBB ----> DDD (immutable) (immutable) (mutable)
AAA ----> BBB ----> CCC (immutable) (immutable) (mutable)
AAA -> BBB -> CCC (immutable) \ '-> DDD (mutable)
AAA -> BBB -> CCC (immutable) -> DDD (mutable)
If I'm on a project with change AAA -> BBB, suppose my friend authors CCC and I author DDD.
So my history looks like:
And my friend's has: But then my friend pushes their change first. So when I pull, I'll have: Just like git, I then rebase my commit by saying `jj next` (mnemonic: "move this commit to its next descendant") to get