3 ms·
Is there a magit equivalent? I heavily use magit's interactive features and extensions to the git UI (like spinoff, absorb, or the auto-backup thing)
by accelbred 1y ago
Is there a magit equivalent? I heavily use magit's interactive features and extensions to the git UI (like spinoff, absorb, or the auto-backup thing)
- stouset 1y agoI am not a magit user but from doing a little bit of reading, all of these commands are essentially first-class citizens in jj. Spinoff seems to be `jj split` (or in most cases literally nothing because the default is to edit a new, empty revision off the trunk), absorb is probably `jj rebase` or `jj squash`, and the auto-backup is either the evolog (which tracks file changes that haven't been explicitly commmited) or the op log (which lets you reset the entire repo to what it looked like before or after any operation). There is also lazyjj as an interactive UI.
- Filligree 1y agomagit-merge-absorb is one of rebase (if that's what you want), or new (which gets you a merge when you specify multiple parents). The 'delete the branch' part of it doesn't really apply, because jj doesn't have branches; though you might need to delete a tag. Note for other readers: jj also has a literal `jj absorb` command. That one does what you'd expect from mercurial, i.e. moves diffs from the current commit into the most recent ancestral commit where that file was changed.
- stouset 1y agoNote also that jj does have branches, they are just anonymous. You don't checkout a branch or edit a branch, you edit a revision or make a new one. One revision with multiple children is a branching point, one revision with multiple parents is a merge. You name them with bookmarks which are sort of like branch names except they don't follow along automatically as you make new revisions. You can point an existing bookmark at a later revision when you're ready to push new changes.
- do_not_redeem 1y agojjui is the best VCS TUI I've ever used. It's even smoother than magit, but I think most of that is because of jj itself. Spinoff and absorb are both native jj features (jj rebase and jj absorb, respectively) https://github.com/idursun/jjui https://github.com/idursun/jjui
- tcoff91 1y agoI’ve got to check this out. I’ve really been loving these two neovim JJ plugins For splitting commits: https://github.com/julienvincent/hunk.nvim https://github.com/julienvincent/hunk.nvim For resolving conflicts: https://github.com/rafikdraoui/jj-diffconflicts https://github.com/rafikdraoui/jj-diffconflicts
- nchmy 1y agoCompletely agreed. I've been evangelizing jjui even more than I do jj! And, you're right, it's powers largely come from the underlying jj - it mostly just runs jj commands behind the scenes, parses the output, and displays it. But it's all so beautiful, seamless etc.. I can't wait to really dig into the big additions released yesterday in v0.9.0 - themes, vim-like leader key shortcuts, other shortcuts etc...
- pton_xd 1y agoWondering the same. I've been using magit for a long time now and never use the git cli anymore. Going back to manually typing in commands doesn't sound appealing. The unified index/workspace non-stash-workflow does sound somewhat nice, though.