←back to thread

115 points NyuB | 8 comments | | HN request time: 0.405s | source | bottom

I use interactive rebase quite often, and particularly like the editor bundled with IntelliJ. But I do not always work with IntelliJ, and am not 'fluent' with Vim, so I tried to replicate roughly the same rebase experience within a TUI. I used a small TUI OCaml project i made last year.

The notable features are: - Move commits up and down, fixup, drop - Rename commits from the editor (without having to stop for a reword during the rebase run) - Visualize modified files along commits - 'Explode' a commit ,creating a commit for each modified file (a thing I found myself doing quite often)

Feedbacks (both on the tool and the code) and contributions welcome, hope it could fit other people needs too !

1. kleiba ◴[] No.41836745[source]
Anyone using magit?
replies(7): >>41836817 #>>41837163 #>>41837257 #>>41837296 #>>41837679 #>>41839690 #>>41840312 #
2. umanwizard ◴[] No.41836817[source]
I use it, it’s great.
3. _ix ◴[] No.41837163[source]
I do. It works so well I've almost taken it for granted.
4. ckolkey ◴[] No.41837257[source]
Missed it so much in vim I started maintaining the neovim clone.
5. ◴[] No.41837296[source]
6. amake ◴[] No.41837679[source]
It was the killer app that got me hooked on Emacs (which I now use as my IDE and daily driver for almost everything except web browsing).

Every time I see tools like this I think "ah, the normies are reimplementing Magit".

7. SoftTalker ◴[] No.41839690[source]
Yes. Only tool I've found that makes git usable.
8. koito17 ◴[] No.41840312[source]
I use Magit for everything, never the Git CLI. Rebasing is very easy to do, and so is cherrypicking, looking at the ref log, etc.

Never bothered learning the Git CLI since it's always seemed cumbersome compared to Magit. That is the other major advantage to Magit, the UI is discoverable, there is always a subwindow displaying all available commands and most of the commonly used flags. (Less commonly used flags can be displayed by adjusting the transient level.)