[HN Gopher] Magit
       ___________________________________________________________________
        
       Magit
        
       Author : swatson741
       Score  : 126 points
       Date   : 2023-06-26 18:39 UTC (4 hours ago)
        
 (HTM) web link (magit.vc)
 (TXT) w3m dump (magit.vc)
        
       | ckolkey wrote:
       | For neovim users, there's a work-in-progress clone, neogit:
       | https://github.com/timUntersberger/neogit/
       | 
       | Some of my colleagues use emacs/magit, and after seeing how
       | absolutely lovely the workflow is, I've put in a lot of work over
       | the last few months expanding it. You can check out my fork here:
       | https://github.com/ckolkey/neogit/
       | 
       | One thing I particularly like to tease my emacs' colleagues about
       | is that my magit is faster than theirs thanks to neovim's async
       | capabilities.
        
         | mi_lk wrote:
         | Do you have plans to merge upstream
        
           | ckolkey wrote:
           | I have pull requests open, so hopefully, yes :)
        
       | imiric wrote:
       | I'm surely in the minority here. I've been using Emacs for almost
       | a decade now, but I just can't get into the Magit workflow. I've
       | tried several times, but always end up going back to Git on the
       | command line. I have dozens of aliases, shell integrations, a
       | nice diff viewer[1], etc., and interacting with Git has become
       | muscle memory. I can commit, cherry-pick, rebase, bisect, fix
       | conflicts, etc., in a fraction of the time it would take me to
       | navigate Magit's UI. I'm sure with enough practice, a Magit user
       | could do this more quickly and efficiently, but honestly, with
       | some custom-built porcelain, Git's UI is not so bad. Though this
       | could very well be Stockholm syndrome after using it for such a
       | long time...
       | 
       | For whatever reason, Magit's opinionated workflows never clicked
       | with me. A part of it is the concern that it will do something
       | weird to my repo that I'll then have to waste more time undoing
       | manually. I usually don't trust sugary wrappers around tools. And
       | another is the fact I don't use Emacs on all machines, and
       | setting up Git on a remote system is just a matter of copying
       | over my config and some shell integrations.
       | 
       | Also, on a more personal note, I find the cultish fanboyism
       | whenever Magit is brought up slightly offputting. Does anyone
       | have anything bad to say about it? No software can realistically
       | be this infallible. :)
       | 
       | [1]: https://github.com/dandavison/delta
        
       | gollum999 wrote:
       | In my experience it's pretty rare that a frontend comes along and
       | fundamentally changes my workflow around the underlying tool, but
       | Magit falls into that category for me. Truly a great piece of
       | software.
        
       | wodenokoto wrote:
       | I'd heard it was worth it even if you don't use eMacs. Spend half
       | a day trying to figure out how to install and just gave up.
        
         | weaksauce wrote:
         | It is worth it imo. there is a caveat that you will have to
         | learn a little bit about emacs to effectively use it if you
         | accidentally do something that throws you into a buffer(file).
         | you need to be able to navigate and delete buffers and frames.
         | if you know vim bindings and install doom emacs it helps a bit
         | too since emacs commands are a bit inscrutable and hard to
         | configure well without it.
         | 
         | i don't use emacs as a daily driver anymore but i solely use it
         | for my git stuff.
        
         | noelwelsh wrote:
         | What I do is:
         | 
         | 1. Install Emacs
         | 
         | 2. Install Doom (git clone + run a command):
         | https://github.com/doomemacs/doomemacs
         | 
         | 3. space g g to invoke magit
        
         | TeMPOraL wrote:
         | Magit is one of the two software packages known to make non-
         | Emacs-using people install Emacs only for that package. The
         | other one is Org Mode.
        
         | dima55 wrote:
         | You "apt install emacs elpa-magit". Your OS should respect you
         | enough to make it this simple.
        
       | vonwoodson wrote:
       | I'd like to plug [tig](https://github.com/jonas/tig) for those
       | who don't use emacs. I see lazygit recommended here too, but I've
       | been using tig for years now and love it's simplicity.
        
       | seaknoll wrote:
       | Love magit. I recommend using it with magit-delta
       | https://github.com/dandavison/magit-delta for the syntax
       | highlighting.
        
       | jwr wrote:
       | Incredible tool. I've been using it every day for years now and
       | can't imagine using git without it. The speed with which I can
       | stash/unstash, switch branches, rebase, cherry pick or
       | selectively stage is incredible. It's like riding a bicycle
       | rather than walking.
       | 
       | BTW, if you use and appreciate magit, please subscribe and
       | contribute financially (yes, I do that). We shouldn't expect
       | great tools to be maintained and developed for free.
        
         | hdd2k wrote:
         | Yup, this is probably one of my biggest product boosters in the
         | toolkit. Using the Vscode extension version since I just fully
         | migrated to IDE-land (emacs too slow on big monitors), but
         | still fantastic.
        
         | wwarner wrote:
         | I just joined you as a supporter, thanks for the nudge
        
       | easeout wrote:
       | How to pronounce it? Any way you want, it seems.
       | https://magit.vc/manual/magit/How-to-pronounce-Magit_003f.ht...
        
         | dietr1ch wrote:
         | It's magit, not magit, nor magit.
        
       | ziftface wrote:
       | I've been using lazygit and it's amazing. I used to use magit and
       | I think it's great but lazygit seems to have an easier learning
       | curve and is trying to accomplish the same thing (easy reach to
       | the most common git actions).
        
       | G3rn0ti wrote:
       | I got so used to staging individual lines instead of files --
       | it's so much more intuitive! With ,,s" and ,,u" I sift through my
       | edits and discard any debug code that I haven't checked-in
       | accidentally for a long time. Magit also speeds up cycle
       | management of dev branches so much. It's usually just a couple of
       | single key strokes -- pretty cool.
       | 
       | But I would say, you really have to have drank the Emacs Koolaid
       | to appreciate Magit's greatness.
       | 
       | That being said it's only after I discovered Magit I also started
       | to appreciate Emacs' built-in version control mode: The same key
       | combo ,,C-x v n" (Versioning Next step) does initialize a repo
       | and checks in files with any kind of backend (be it git,
       | mercurial or subversion). That's pretty neat, too. With ,,C-x v
       | l" I access ,,git log" for any file where I can access diffs or
       | visit an older version of the file in a separate buffer e.g. to
       | try out an older implementation of a function. ,,C-x v g" gives
       | me a ,,git blame" integration jumping straight to the line I was
       | hovering on.
       | 
       | So for exploring git logs I am using vc-mode but staging and
       | branching I am leveraging Magit. They complement each other well.
        
       | maximilianroos wrote:
       | There's a great magit plugin for VS Code:
       | https://marketplace.visualstudio.com/items?itemName=kahole.m...
        
       | Conscat wrote:
       | I love magit and I use it basically every day. But lately, at my
       | work's monorepo, I've been greatly pained by how synchronous it
       | is (like much of Emacs). When I want to fix a unit test, I find
       | suspicious commits by a grep for some keyword through diffs in
       | the git log, and unlike the git CLI, magit will not show me any
       | matching commits until it has searched through all of them
       | (capped at 256 matches by default), which takes a very long time.
       | I love so many creative Emacs tools, but the wait times from
       | magit and consult get painful.
        
         | dietr1ch wrote:
         | At work I go back to using the command line too and use emacs
         | to edit the commit messages. I find it's not only magit that's
         | not ready for huge monorepos. I had to maintain a huge
         | directory blacklist before sparse clones were supported
         | internally (before everything pretended to be around and was
         | streamed/cached underneath, which tripped every regular tool
         | into fetching too much)
        
         | TeMPOraL wrote:
         | I'm starting to feel the pain too, and we're not even at a
         | monorepo stage - just a _large_ project with lots of history.
         | 
         | There's some interference coming from me running Emacs/Magit on
         | WSL1, and corporate nuking my Windows Defender exclusions
         | lists, meaning "real time protection" is slowing every file
         | write down. Still for small to medium repos it's wonderful; for
         | that one large at work, it's... pretty much setting my tea
         | breaks.
         | 
         | Currently the most annoying mysterious issue is that some
         | commands (usually pulling or rebasing, sometimes committing
         | too) reach the point of Magit echoing "git finished", and
         | then... whole Emacs remains frozen for 30-120 seconds. I
         | haven't traced that tone to source yet.
        
         | procinct wrote:
         | If you're interested, you should take a look at Sublime Merge.
         | I switched to it a couple of years ago. Made by the creators of
         | Sublime Text so it's as snappy as you'd expect. And it has some
         | surprisingly powerful tooling when it comes to searching the
         | history (list all commits that changed a file and by a certain
         | author etc). I also like that you can see a log of all of the
         | git commands it's executing behind the scenes.
        
           | ElectronBadger wrote:
           | I had a brief and rather complicated affair with Emacs some
           | years ago. I tried Magit then. It was ok(ish), but could not
           | understood what all the fuss about. Sublime Merge is so much
           | better -- blazing fast and designed so well. Perhaps I'm not
           | objective here, since I'm also a die-hard fan of Sublime Text
           | -- the best editor for writing research notes, papers, prose,
           | and code :)
        
       | krylon wrote:
       | Magit made git usable for me. It's both intuitive to use and
       | powerful (at least compared to my needs).
        
       ___________________________________________________________________
       (page generated 2023-06-26 23:01 UTC)