3 ms·
I would like to see an example of someone showing the workflow for using jj and doing feature branch. I don’t really get that yet. Most examples only show that
by 0-R-1-0-N 1y ago
I would like to see an example of someone showing the workflow for using jj and doing feature branch. I don’t really get that yet. Most examples only show that they commit once and then push. But what if it requires multiple commits.
- hellcow 1y agoHere: $ jj new -m 'build my feature' $ touch my_feature.c $ jj new -m 'add some other feature' $ touch other_feature.c $ jj bookmark move main -t @ $ jj git push
- SAI_Peregrinus 1y agoOne way (there are other ways to do some things): `jj log` if needed to see what revision ID you need to use `jj new <starting revision> -m <message>` to create a new change with a given message with <starting revision> as the parent. (you can also use the `--insert-before <revset>` and/or `--insert-after <revset>` to set the parent & child revison(s) for the new revision). `jj bookmark set <feature 1 name> --revision <revset>` to make a bookmark (a branch name) on the revison you just made. Make changes on this branch as desired. `jj new` for each new change you want to have its own revision. If you added more revisions to the branch, `jj bookmark move <feature 1 name> --to '@'` (you can also use the change ID instead of '@', '@' just means "the current change you're editing"). `jj edit <starting revset>` to go back to your starting revset. `jj new -m <message>` to make a new revset on top of the starting revset (the starting revset now has two children: it has branched) `jj bookmark set <feature 2 name> --revision <revset>` to name the second branch you just created. Make changes as desired. `jj new` for each new change you want to have its own revision. If you added more revisions to the branch, `jj bookmark move <feature 2 name> --to '@'`. `jj new <feature 1 name> <feature 2 name> -m "merge feature 1 & feature 2"` to make a new revision with the feature 1 & feature 2 bookmark revisions as its parents (this is a merge). Alternatively, you could use `jj rebase` to move any number of commits to anywhere in the commit graph you want.