{"slug": "magit", "name": "Magit", "category": "git", "category_name": "Git and code hosting", "description": "A text-based Git interface that runs as a package inside the Emacs editor.", "recommenders": 32, "commenters": 41, "warners": 3, "score": 27.793, "rising": 2.15, "first": "2025-11-01", "latest": "2026-10-29", "why": "Loved by Emacs users as their main way to use git, especially for staging individual lines and hunks, reviewing changes, and rebasing.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 36, "neutral": 5, "compare": 2, "warn": 3}, "spark": [5, 0, 1, 0, 7, 1, 0, 3, 8, 4, 3, 4], "listed": true, "loved": ["Better git UX", "Essential Emacs package"], "caveat": "Performance", "short_quote": "Magit is absolutely wonderful. It is one of the main tools I use daily to get my work done", "icon": true, "domain": null, "github_repo": null, "official_url": "https://magit.vc/", "pricing": "open source", "aliases": ["Magit", "magit"], "verdict": [{"text": "Loved by Emacs users as their main way to use git,", "cites": [{"id": 757208400, "item_id": 47325525, "url": "https://news.ycombinator.com/item?id=47325525", "by": "akagr", "date": "2026-03-10", "stance": "recommend", "quote": "Every thing except magit. I can\u2019t think of a better way to use git", "excerpt": "I feel I can given up most packages I use for some hand rolled code (with a significant time investment, that is). There will be tradeoffs. Every thing except magit. I can\u2019t think of a better way to use git, and it\u2019s one of the main reasons I\u2019ve never survived my adventures in editor wilds for very long.", "context": "Emacs user", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Two Years of Emacs Solo: 35 Modules, Zero External Packages, and a Full Refactor"}, {"id": 784304480, "item_id": 49019030, "url": "https://news.ycombinator.com/item?id=49019030", "by": "ulrikrasmussen", "date": "2026-07-23", "stance": "recommend", "quote": "I do all of my work using magit in emacs. I don't even use emacs for writing code anymore, I only use it for git.", "excerpt": "I use git every day and can do quite advanced stuff with it, but I do all of my work using magit in emacs. I don't even use emacs for writing code anymore, I only use it for git. I just can't be bothered with using the CLI, it is too painfully inconsistent. The only downside to this is that it is hard for me to help people with git problems since I can only tell them what conceptually has to be done, not how to accom", "context": "", "use_case": "git interface", "switched_from": "", "story": "git's \u2013end-of-options Flag"}, {"id": 757202048, "item_id": 47325128, "url": "https://news.ycombinator.com/item?id=47325128", "by": "SoftTalker", "date": "2026-03-10", "stance": "recommend", "quote": "Magit is absolutely the only reason I'm able to use git.", "excerpt": "Magit is absolutely the only reason I'm able to use git. And even at that it's still confusing. Yes I know tens of thousands of devs use it every day. I've got some kind of mental block with git. I used to use Mercurial and Subversion without any issues.", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 732538865, "item_id": 45783679, "url": "https://news.ycombinator.com/item?id=45783679", "by": "sinker", "date": "2025-11-01", "stance": "recommend", "quote": "my only essential package addon-ons are magit and yasnippet.", "excerpt": "I recommend starting with vanilla Emacs and just adding things as you find the need for them. Emacs comes with a lot of things OOTB. After a decade, my only essential package addon-ons are magit and yasnippet. I have other packages installed, but they're esoteric for my own purposes.", "context": "Emacs user for a decade", "use_case": "Git interface", "switched_from": "", "story": "Ask HN: Where to begin with \"modern\" Emacs?"}]}, {"text": " especially for staging individual lines and hunks, reviewing changes, and rebasing.", "cites": [{"id": 785672720, "item_id": 49104545, "url": "https://news.ycombinator.com/item?id=49104545", "by": "PaulDavisThe1st", "date": "2026-07-29", "stance": "recommend", "quote": "The per-line staging in magit is a frequent tool I use.", "excerpt": "The per-line staging in magit is a frequent tool I use. I can be in the middle of bunch of other changes, change 1 line for a different reason that would otherwise be \"mid-hunk\", and the stage & commit it with its own explanation. It releases me from having to have the \"discipline\" to stay 100% focused on the broader task at hand and say \"hmm, I should fix that while I'm here\", without co-mingling purposefully differ", "context": "", "use_case": "line-level git staging", "switched_from": "", "story": "Staging patches with Git add -p"}, {"id": 789324577, "item_id": 49332786, "url": "https://news.ycombinator.com/item?id=49332786", "by": "rwl", "date": "2026-08-17", "stance": "recommend", "quote": "magit and its magical ability to stage individual hunks of a diff", "excerpt": "I started using fossil recently and have been quite pleased with this aspect of it. I miss a few things from the git world (mostly magit and its magical ability to stage individual hunks of a diff) and there are a few rough edges, but I totally agree that having a wiki and issue tracking inside the repository makes so much sense. fossil\u2018s simplicity is a breath of fresh air for anyone who has to use git from a CLI. W", "context": "", "use_case": "staging hunks in git", "switched_from": "", "story": "Ask HN: Alternatives to GitHub"}, {"id": 803674065, "item_id": 50229629, "url": "https://news.ycombinator.com/item?id=50229629", "by": "Karrot_Kream", "date": "2026-10-25", "stance": "recommend", "quote": "I love reviewing changes in magit.", "excerpt": "I've been an emacs user for most of my life, before I even went to college. I took a brief (5 years) tour into IDEs for writing code on the job, but the moment agents became a viable way to develop code I switched back into emacs. I love reviewing changes in magit. I'm pretty sure many folks put up with the bloat of IDEs just for the functionality they offered. Now, they're hopping back to emacs, vim, sublime, whatev", "context": "", "use_case": "reviewing code changes", "switched_from": "", "story": "We should be more ambitious with the software we build"}, {"id": 781788609, "item_id": 48861788, "url": "https://news.ycombinator.com/item?id=48861788", "by": "bryanlarsen", "date": "2026-07-10", "stance": "recommend", "quote": "And I use magit in Emacs for reviewing code.", "excerpt": "I use Emacs more in the era of AI than I did prior. I'm writing less code, but I'm reviewing more code. And I use magit in Emacs for reviewing code. And I run my agents inside my emacs. I use my emacs like most others use tmux -- my emacs session is persistent and I connect with emacsclient.", "context": "", "use_case": "code review", "switched_from": "", "story": "How do you use Vim in the era of AI?"}, {"id": 757173824, "item_id": 47323364, "url": "https://news.ycombinator.com/item?id=47323364", "by": "mschulze", "date": "2026-03-10", "stance": "recommend", "quote": "The UX of magit is just out of this world.", "excerpt": "I use magit daily for over 8 years now. Over that time I have showed it to many other peers, out of excitement for a tool that made me more productive and helped me learn - but I never could convince even one to use it. Maybe it's my persuasion skills, maybe tool usage is too personal - I don't know, but it makes me kind of sad. The UX of magit is just out of this world. Especially for rebasing, subset rebases (using", "context": "daily user for over 8 years", "use_case": "Git, especially rebasing", "switched_from": "", "story": "Rebasing in Magit"}]}, {"text": " The most common complaint is sluggish rendering,", "cites": [{"id": 794275281, "item_id": 49642205, "url": "https://news.ycombinator.com/item?id=49642205", "by": "quibono", "date": "2026-09-10", "stance": "warn", "quote": "magit still feels very sluggish", "excerpt": "Great list, thank you. I recently switched to a Macbook for work and I could feel the difference in speed whenever I used Emacs back on my desktop (Linux). This helps a bit though magit still feels very sluggish.", "context": "", "use_case": "git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}, {"id": 779611216, "item_id": 48725701, "url": "https://news.ycombinator.com/item?id=48725701", "by": "tetris11", "date": "2026-06-29", "stance": "recommend", "quote": "I love it, I just wish it wouldn't hang so much rendering the output of the near instantaneous git commands.", "excerpt": "I love it, I just wish it wouldn't hang so much rendering the output of the near instantaneous git commands. More of an emacs problem than a magit one, but a persistent gripe for me", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Magit - a complete text-based user interface to Git"}]}, {"text": " particularly in very large repositories or on some macOS setups.", "cites": [{"id": 757297040, "item_id": 47331065, "url": "https://news.ycombinator.com/item?id=47331065", "by": "Forge36", "date": "2026-03-10", "stance": "recommend", "quote": "I'm still finding it an improvement over the CLI.", "excerpt": "Profiling[1] your own repository and tweaking as necessary (possibly disabling auto-status refresh) will likely yield significant performance improvements. I use magit with a very large repository (100k files, millions of commits) it's still not lightning fast like it is with smaller repositories, I'm still finding it an improvement over the CLI. My config notes this saves me ~13 seconds in git-status (remove-hook 'm", "context": "works with a 100k-file repository", "use_case": "Git on a very large repo", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 781834128, "item_id": 48864633, "url": "https://news.ycombinator.com/item?id=48864633", "by": "agumonkey", "date": "2026-07-10", "stance": "recommend", "quote": "It's a thin layer over git output, it pops up, it infers parameters from ui state, call the usual git command, and goes out. Lean and fast", "excerpt": "\"invisible\" is something I used to describe emacs magit. It's a thin layer over git output, it pops up, it infers parameters from ui state, call the usual git command, and goes out. Lean and fast (unless large project it seems).", "context": "", "use_case": "Git in Emacs", "switched_from": "", "story": "Good Tools Are Invisible"}, {"id": 794141009, "item_id": 49633813, "url": "https://news.ycombinator.com/item?id=49633813", "by": "KallDrexx", "date": "2026-09-09", "stance": "warn", "quote": "Magit is the worst offender", "excerpt": "I notice it on macOS, which I use for work. I use Linux personally but no EDR there :) There are just so many little operations that cause stuttering on macOS with an unfortunately over-eager crowdstrike configuration. Magit is the worst offender but it causes paper cuts all over :(", "context": "uses macOS at work, Linux personally", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}]}], "praise": [{"label": "Better git UX", "summary": "Many say it beats the git CLI and is the best way they know to use git.", "quotes": [{"id": 757208400, "item_id": 47325525, "url": "https://news.ycombinator.com/item?id=47325525", "by": "akagr", "date": "2026-03-10", "stance": "recommend", "quote": "Every thing except magit. I can\u2019t think of a better way to use git", "excerpt": "I feel I can given up most packages I use for some hand rolled code (with a significant time investment, that is). There will be tradeoffs. Every thing except magit. I can\u2019t think of a better way to use git, and it\u2019s one of the main reasons I\u2019ve never survived my adventures in editor wilds for very long.", "context": "Emacs user", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Two Years of Emacs Solo: 35 Modules, Zero External Packages, and a Full Refactor"}, {"id": 784304480, "item_id": 49019030, "url": "https://news.ycombinator.com/item?id=49019030", "by": "ulrikrasmussen", "date": "2026-07-23", "stance": "recommend", "quote": "I do all of my work using magit in emacs. I don't even use emacs for writing code anymore, I only use it for git.", "excerpt": "I use git every day and can do quite advanced stuff with it, but I do all of my work using magit in emacs. I don't even use emacs for writing code anymore, I only use it for git. I just can't be bothered with using the CLI, it is too painfully inconsistent. The only downside to this is that it is hard for me to help people with git problems since I can only tell them what conceptually has to be done, not how to accom", "context": "", "use_case": "git interface", "switched_from": "", "story": "git's \u2013end-of-options Flag"}, {"id": 757173824, "item_id": 47323364, "url": "https://news.ycombinator.com/item?id=47323364", "by": "mschulze", "date": "2026-03-10", "stance": "recommend", "quote": "The UX of magit is just out of this world.", "excerpt": "I use magit daily for over 8 years now. Over that time I have showed it to many other peers, out of excitement for a tool that made me more productive and helped me learn - but I never could convince even one to use it. Maybe it's my persuasion skills, maybe tool usage is too personal - I don't know, but it makes me kind of sad. The UX of magit is just out of this world. Especially for rebasing, subset rebases (using", "context": "daily user for over 8 years", "use_case": "Git, especially rebasing", "switched_from": "", "story": "Rebasing in Magit"}]}, {"label": "Essential Emacs package", "summary": "Long-time Emacs users list it among the few packages they use every day.", "quotes": [{"id": 732538865, "item_id": 45783679, "url": "https://news.ycombinator.com/item?id=45783679", "by": "sinker", "date": "2025-11-01", "stance": "recommend", "quote": "my only essential package addon-ons are magit and yasnippet.", "excerpt": "I recommend starting with vanilla Emacs and just adding things as you find the need for them. Emacs comes with a lot of things OOTB. After a decade, my only essential package addon-ons are magit and yasnippet. I have other packages installed, but they're esoteric for my own purposes.", "context": "Emacs user for a decade", "use_case": "Git interface", "switched_from": "", "story": "Ask HN: Where to begin with \"modern\" Emacs?"}, {"id": 804380113, "item_id": 50273757, "url": "https://news.ycombinator.com/item?id=50273757", "by": "jwr", "date": "2026-10-28", "stance": "recommend", "quote": "Magit and ghostel are good examples of packages that I use on a daily basis", "excerpt": "I have been using Emacs for more than 30 years now. Other editors have come and gone, Emacs stayed. Parts of my configuration are more than 30 years old. There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily ba", "context": "", "use_case": "Git in Emacs", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 777399842, "item_id": 48587490, "url": "https://news.ycombinator.com/item?id=48587490", "by": "SoftTalker", "date": "2026-06-18", "stance": "recommend", "quote": "That, org-mode, and magit is about all I use for coding and text editing.", "excerpt": "I'm glad to see that people are working on emacs, as I use it constantly. That said, I personally don't see myself really using any of the stuff highlighted in this article. I've never really been in to advanced auto-complete or tree-sitter type of functionality. Some tasteful syntax highlighting and indentation support is fine but that's about as far as I go. That, org-mode, and magit is about all I use for coding a", "context": "", "use_case": "git client", "switched_from": "", "story": "Emacs 31 Is Around the Corner: The Changes I'm Daily Driving"}]}, {"label": "Line and hunk staging", "summary": "Staging single lines or hunks makes it easy to split work into focused commits.", "quotes": [{"id": 785672720, "item_id": 49104545, "url": "https://news.ycombinator.com/item?id=49104545", "by": "PaulDavisThe1st", "date": "2026-07-29", "stance": "recommend", "quote": "The per-line staging in magit is a frequent tool I use.", "excerpt": "The per-line staging in magit is a frequent tool I use. I can be in the middle of bunch of other changes, change 1 line for a different reason that would otherwise be \"mid-hunk\", and the stage & commit it with its own explanation. It releases me from having to have the \"discipline\" to stay 100% focused on the broader task at hand and say \"hmm, I should fix that while I'm here\", without co-mingling purposefully differ", "context": "", "use_case": "line-level git staging", "switched_from": "", "story": "Staging patches with Git add -p"}, {"id": 789324577, "item_id": 49332786, "url": "https://news.ycombinator.com/item?id=49332786", "by": "rwl", "date": "2026-08-17", "stance": "recommend", "quote": "magit and its magical ability to stage individual hunks of a diff", "excerpt": "I started using fossil recently and have been quite pleased with this aspect of it. I miss a few things from the git world (mostly magit and its magical ability to stage individual hunks of a diff) and there are a few rough edges, but I totally agree that having a wiki and issue tracking inside the repository makes so much sense. fossil\u2018s simplicity is a breath of fresh air for anyone who has to use git from a CLI. W", "context": "", "use_case": "staging hunks in git", "switched_from": "", "story": "Ask HN: Alternatives to GitHub"}, {"id": 788906480, "item_id": 49306655, "url": "https://news.ycombinator.com/item?id=49306655", "by": "skydhash", "date": "2026-08-14", "stance": "recommend", "quote": "I use magit, so it's always easier to select only the lines/hunks/files that is for one specific change, stage and commit that.", "excerpt": "Then you may need to improve your git-fu (or $vcs-fu). I use magit, so it's always easier to select only the lines/hunks/files that is for one specific change, stage and commit that. Before magit, I use sublime merge, Intellij vcs feature, and fugitive. My flow state is for editing files. Once that's done and I've got something that work. It's always easy to convert those into sensible commits. Do not that the logs i", "context": "", "use_case": "staging and committing in git", "switched_from": "", "story": "Stop sending me PRs; a rant"}]}, {"label": "Reviewing code", "summary": "Users review changes in it, including code written by AI agents.", "quotes": [{"id": 803674065, "item_id": 50229629, "url": "https://news.ycombinator.com/item?id=50229629", "by": "Karrot_Kream", "date": "2026-10-25", "stance": "recommend", "quote": "I love reviewing changes in magit.", "excerpt": "I've been an emacs user for most of my life, before I even went to college. I took a brief (5 years) tour into IDEs for writing code on the job, but the moment agents became a viable way to develop code I switched back into emacs. I love reviewing changes in magit. I'm pretty sure many folks put up with the bloat of IDEs just for the functionality they offered. Now, they're hopping back to emacs, vim, sublime, whatev", "context": "", "use_case": "reviewing code changes", "switched_from": "", "story": "We should be more ambitious with the software we build"}, {"id": 791476770, "item_id": 49467298, "url": "https://news.ycombinator.com/item?id=49467298", "by": "jwr", "date": "2026-08-27", "stance": "recommend", "quote": "I then use mAgit to review it.", "excerpt": "I use cLaude cOde in my eMacs (through ghostel, which is unbelievably great!) to generate code :-) I then use mAgit to review it.", "context": "", "use_case": "reviewing generated code", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 781788609, "item_id": 48861788, "url": "https://news.ycombinator.com/item?id=48861788", "by": "bryanlarsen", "date": "2026-07-10", "stance": "recommend", "quote": "And I use magit in Emacs for reviewing code.", "excerpt": "I use Emacs more in the era of AI than I did prior. I'm writing less code, but I'm reviewing more code. And I use magit in Emacs for reviewing code. And I run my agents inside my emacs. I use my emacs like most others use tmux -- my emacs session is persistent and I connect with emacsclient.", "context": "", "use_case": "code review", "switched_from": "", "story": "How do you use Vim in the era of AI?"}]}, {"label": "Rebasing", "summary": "Rebases, including subset rebases and reword or fixup, are described as easy.", "quotes": [{"id": 757173824, "item_id": 47323364, "url": "https://news.ycombinator.com/item?id=47323364", "by": "mschulze", "date": "2026-03-10", "stance": "recommend", "quote": "The UX of magit is just out of this world.", "excerpt": "I use magit daily for over 8 years now. Over that time I have showed it to many other peers, out of excitement for a tool that made me more productive and helped me learn - but I never could convince even one to use it. Maybe it's my persuasion skills, maybe tool usage is too personal - I don't know, but it makes me kind of sad. The UX of magit is just out of this world. Especially for rebasing, subset rebases (using", "context": "daily user for over 8 years", "use_case": "Git, especially rebasing", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 782507808, "item_id": 48906738, "url": "https://news.ycombinator.com/item?id=48906738", "by": "seanc", "date": "2026-07-14", "stance": "recommend", "quote": "out of the box you get reword and fixup as first-class rebase macros.  I use them all the time.", "excerpt": "Not as such, but out of the box you get reword and fixup as first-class rebase macros. I use them all the time. If you wanted to split a commit you'd still have to use a magit-assisted rebase. So if magit added explicit 'history' support I just about wouldn't notice, it would mostly be under the hood.", "context": "", "use_case": "Git rebase workflow", "switched_from": "", "story": "The Git history command deserves more attention"}]}, {"label": "Close to git", "summary": "It is described as a thin layer that stays close to real git commands.", "quotes": [{"id": 784384080, "item_id": 49024005, "url": "https://news.ycombinator.com/item?id=49024005", "by": "koiueo", "date": "2026-07-23", "stance": "recommend", "quote": "Magit OTOH stays much closer to the true git.", "excerpt": "And I hate it with a passion. The fact they they introduced their own terminology, their own lifecycle, always makes me doubt what will happen when I use any feature of their client. Magit OTOH stays much closer to the true git. Although for anything slightly more esoteric I still prefer native git cli.", "context": "", "use_case": "git client", "switched_from": "", "story": "Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot"}, {"id": 781834128, "item_id": 48864633, "url": "https://news.ycombinator.com/item?id=48864633", "by": "agumonkey", "date": "2026-07-10", "stance": "recommend", "quote": "It's a thin layer over git output, it pops up, it infers parameters from ui state, call the usual git command, and goes out. Lean and fast", "excerpt": "\"invisible\" is something I used to describe emacs magit. It's a thin layer over git output, it pops up, it infers parameters from ui state, call the usual git command, and goes out. Lean and fast (unless large project it seems).", "context": "", "use_case": "Git in Emacs", "switched_from": "", "story": "Good Tools Are Invisible"}]}], "caveats": [{"label": "Performance", "summary": "Some find it slow or hanging, especially in large repositories or on macOS with security software.", "quotes": [{"id": 794275281, "item_id": 49642205, "url": "https://news.ycombinator.com/item?id=49642205", "by": "quibono", "date": "2026-09-10", "stance": "warn", "quote": "magit still feels very sluggish", "excerpt": "Great list, thank you. I recently switched to a Macbook for work and I could feel the difference in speed whenever I used Emacs back on my desktop (Linux). This helps a bit though magit still feels very sluggish.", "context": "", "use_case": "git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}, {"id": 779611216, "item_id": 48725701, "url": "https://news.ycombinator.com/item?id=48725701", "by": "tetris11", "date": "2026-06-29", "stance": "recommend", "quote": "I love it, I just wish it wouldn't hang so much rendering the output of the near instantaneous git commands.", "excerpt": "I love it, I just wish it wouldn't hang so much rendering the output of the near instantaneous git commands. More of an emacs problem than a magit one, but a persistent gripe for me", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Magit - a complete text-based user interface to Git"}, {"id": 794141009, "item_id": 49633813, "url": "https://news.ycombinator.com/item?id=49633813", "by": "KallDrexx", "date": "2026-09-09", "stance": "warn", "quote": "Magit is the worst offender", "excerpt": "I notice it on macOS, which I use for work. I use Linux personally but no EDR there :) There are just so many little operations that cause stuttering on macOS with an unfortunately over-eager crowdstrike configuration. Magit is the worst offender but it causes paper cuts all over :(", "context": "uses macOS at work, Linux personally", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}]}, {"label": "Requires Emacs", "summary": "It lives inside Emacs, which deters people who dislike Emacs keyboard controls.", "quotes": [{"id": 800493746, "item_id": 50030859, "url": "https://news.ycombinator.com/item?id=50030859", "by": "rmunn", "date": "2026-10-10", "stance": "compare", "quote": "I've never tried magit so I don't know if lazygit is a decent substitute.", "excerpt": "The two things about Emacs I would love if I used it (tried twice, bounced HARD off the keyboard controls both times. I hate modifer+key control schemes \u2014 give me modal editing any day \u2014 and I don't even have RSI!) are magit and org-mode. I've never tried magit so I don't know if lazygit is a decent substitute. But for org-mode in Neovim, there's https://github.com/nvim-neorg/neorg. I'm sure it's only a partial, half", "context": "", "use_case": "git interface", "switched_from": "", "story": "I tried to move my notes out of Emacs. I failed. Again"}, {"id": 734914608, "item_id": 45932163, "url": "https://news.ycombinator.com/item?id=45932163", "by": "AceJohnny2", "date": "2025-11-14", "stance": "recommend", "quote": "I love Magit, it's the only git gui I can stomach (it helps that I use Emacs already).", "excerpt": "I love Magit, it's the only git gui I can stomach (it helps that I use Emacs already). I donated a bit of money to help tarsius offset the cost of AWS LLM abuse, well deserved for the value I've gotten from his tools.", "context": "Emacs user", "use_case": "git interface in Emacs", "switched_from": "", "story": "Magit manuals are available online again"}]}, {"label": "Hard to adopt", "summary": "One Emacs user couldn't get used to it, and one says they never convinced a peer to switch.", "quotes": [{"id": 734114961, "item_id": 45882185, "url": "https://news.ycombinator.com/item?id=45882185", "by": "imiric", "date": "2025-11-10", "stance": "warn", "quote": "I tried Magit a few times, and even though Emacs is my main editor, I couldn't get used to it.", "excerpt": "Am I the only one who simply doesn't mind Git's CLI? Sure, it's rough around the edges, but I know those edges well. I sometimes do need to look up how to do something, but those cases are rare. Over the years I've accumulated about a dozen shell aliases and a modest `.gitconfig`, and along with a couple of helper tools[1][2], I can do 90% of what I need Git for in seconds. I truly don't need a fancy TUI, GUI, or any", "context": "Emacs user", "use_case": "Git interface", "switched_from": "", "story": "The lazy Git UI you didn't know you need"}, {"id": 757173824, "item_id": 47323364, "url": "https://news.ycombinator.com/item?id=47323364", "by": "mschulze", "date": "2026-03-10", "stance": "recommend", "quote": "The UX of magit is just out of this world.", "excerpt": "I use magit daily for over 8 years now. Over that time I have showed it to many other peers, out of excitement for a tool that made me more productive and helped me learn - but I never could convince even one to use it. Maybe it's my persuasion skills, maybe tool usage is too personal - I don't know, but it makes me kind of sad. The UX of magit is just out of this world. Especially for rebasing, subset rebases (using", "context": "daily user for over 8 years", "use_case": "Git, especially rebasing", "switched_from": "", "story": "Rebasing in Magit"}]}, {"label": "Worktree limits", "summary": "It refuses to check out a branch that is already checked out in another worktree.", "quotes": [{"id": 794492672, "item_id": 49655792, "url": "https://news.ycombinator.com/item?id=49655792", "by": "miggol", "date": "2026-09-11", "stance": "recommend", "quote": "No excuses though, I love magit and might as well hack this myself.", "excerpt": "A slight limitation of worktrees is that you can only have a branch checked out once in all of your worktrees. I guess that's just how git works. But when I want to checkout a branch that's already checked out in another worktree, Magit just plain refuses. I wish it would offer me to either: 1. Switch to that worktree instead 2. Detach head in the other worktree and checkout here Would be such an improvement! No excu", "context": "", "use_case": "git worktrees", "switched_from": "", "story": "Working with Git Worktrees in Magit"}]}, {"label": "Large-repo tuning", "summary": "Very large repositories may need profiling and disabling some features.", "quotes": [{"id": 757297040, "item_id": 47331065, "url": "https://news.ycombinator.com/item?id=47331065", "by": "Forge36", "date": "2026-03-10", "stance": "recommend", "quote": "I'm still finding it an improvement over the CLI.", "excerpt": "Profiling[1] your own repository and tweaking as necessary (possibly disabling auto-status refresh) will likely yield significant performance improvements. I use magit with a very large repository (100k files, millions of commits) it's still not lightning fast like it is with smaller repositories, I'm still finding it an improvement over the CLI. My config notes this saves me ~13 seconds in git-status (remove-hook 'm", "context": "works with a 100k-file repository", "use_case": "Git on a very large repo", "switched_from": "", "story": "Rebasing in Magit"}]}], "who": [{"by": "brabel", "context": "author of an article on git worktrees with AI agents", "url": "https://news.ycombinator.com/item?id=49654377", "date": "2026-09-11"}, {"by": "iLemming", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=49634649", "date": "2026-09-09"}, {"by": "Forge36", "context": "works with a 100k-file repository", "url": "https://news.ycombinator.com/item?id=47331065", "date": "2026-03-10"}, {"by": "chriswarbo", "context": "still learning jj", "url": "https://news.ycombinator.com/item?id=47326710", "date": "2026-03-10"}, {"by": "akagr", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=47325525", "date": "2026-03-10"}, {"by": "mschulze", "context": "daily user for over 8 years", "url": "https://news.ycombinator.com/item?id=47323364", "date": "2026-03-10"}, {"by": "AceJohnny2", "context": "Emacs user", "url": "https://news.ycombinator.com/item?id=45932163", "date": "2025-11-14"}, {"by": "I_complete_me", "context": "not a developer", "url": "https://news.ycombinator.com/item?id=45785863", "date": "2025-11-01"}, {"by": "sinker", "context": "Emacs user for a decade", "url": "https://news.ycombinator.com/item?id=45783679", "date": "2025-11-01"}], "tags": ["for Emacs users", "for reviewing AI agent code", "for crafting clean commits", "for git worktrees"], "use_cases": ["git interface", "git interface in emacs", "git in emacs", "git client", "git workflow", "git rebase workflow"], "compared": [{"slug": "emacs", "name": "Emacs", "co": 22, "switched_from": 0, "switched_to": 0}, {"slug": "git", "name": "Git", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "org-mode", "name": "Org mode", "co": 6, "switched_from": 0, "switched_to": 0}, {"slug": "jujutsu", "name": "Jujutsu", "co": 4, "switched_from": 0, "switched_to": 1}, {"slug": "visual-studio-code", "name": "Visual Studio Code", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "lazygit", "name": "lazygit", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47323105", "title": "Rebasing in Magit", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=50273171", "title": "Emacs Turns 50", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49629865", "title": "Why Emacs Consult async searches feel slow and how to speed them up", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=45783376", "title": "Ask HN: Where to begin with \"modern\" Emacs?", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49606281", "title": "Working with Git Worktrees in Magit", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49464543", "title": "Emacs 31: An unofficial guide to Markdown-ts-mode", "mentions": 2}], "sentiment_by_month": {"2025-11": {"recommend": 5, "warn": 1}, "2025-12": {}, "2026-01": {"neutral": 1, "recommend": 1}, "2026-02": {"neutral": 1}, "2026-03": {"recommend": 7}, "2026-04": {"neutral": 1, "recommend": 1}, "2026-05": {}, "2026-06": {"recommend": 3}, "2026-07": {"recommend": 8}, "2026-08": {"recommend": 4, "neutral": 1}, "2026-09": {"recommend": 3, "compare": 1, "warn": 2, "neutral": 1}, "2026-10": {"compare": 1, "recommend": 4}}, "quotes": [{"id": 804523665, "item_id": 50282729, "url": "https://news.ycombinator.com/item?id=50282729", "by": "iLemming", "date": "2026-10-29", "stance": "recommend", "quote": "I use Magit on Mac and it is not slow.", "excerpt": "> Will probably die Did anyone ever tell you how badly you suck at prophecies? This unfalsifiable prediction has enormously bad track record: people have called Emacs dead since the 90s, through XEmacs, through every IDE wave since, through Atom, Sublime, nvim, VSCode, Zed, etc. I'm sure \"Anti-AI core community\" drinking themselves to oblivion and chugging anti-depressants seeing how many packages for AI integration ", "context": "", "use_case": "git interface", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 804416848, "item_id": 50276053, "url": "https://news.ycombinator.com/item?id=50276053", "by": "_doctor_love", "date": "2026-10-28", "stance": "recommend", "quote": "Using magit made me believe again that really good software can exist", "excerpt": "I am too young to be in the 30 year club but Emacs has served me well for more than a decade. I don't use it as a daily driver anymore but it holds a special place in my heart. Using magit made me believe again that really good software can exist and that there are really great designers still among us. Also super agree that Stallman's original ideas are only ever more increasingly valid. I will generously say that S", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 804380113, "item_id": 50273757, "url": "https://news.ycombinator.com/item?id=50273757", "by": "jwr", "date": "2026-10-28", "stance": "recommend", "quote": "Magit and ghostel are good examples of packages that I use on a daily basis", "excerpt": "I have been using Emacs for more than 30 years now. Other editors have come and gone, Emacs stayed. Parts of my configuration are more than 30 years old. There were better and worse times in Emacs history. Recent times, however, are really good. Emacs is maintained and developed actively and there are many external packages which are impressive. Magit and ghostel are good examples of packages that I use on a daily ba", "context": "", "use_case": "Git in Emacs", "switched_from": "", "story": "Emacs Turns 50"}, {"id": 803674065, "item_id": 50229629, "url": "https://news.ycombinator.com/item?id=50229629", "by": "Karrot_Kream", "date": "2026-10-25", "stance": "recommend", "quote": "I love reviewing changes in magit.", "excerpt": "I've been an emacs user for most of my life, before I even went to college. I took a brief (5 years) tour into IDEs for writing code on the job, but the moment agents became a viable way to develop code I switched back into emacs. I love reviewing changes in magit. I'm pretty sure many folks put up with the bloat of IDEs just for the functionality they offered. Now, they're hopping back to emacs, vim, sublime, whatev", "context": "", "use_case": "reviewing code changes", "switched_from": "", "story": "We should be more ambitious with the software we build"}, {"id": 800493746, "item_id": 50030859, "url": "https://news.ycombinator.com/item?id=50030859", "by": "rmunn", "date": "2026-10-10", "stance": "compare", "quote": "I've never tried magit so I don't know if lazygit is a decent substitute.", "excerpt": "The two things about Emacs I would love if I used it (tried twice, bounced HARD off the keyboard controls both times. I hate modifer+key control schemes \u2014 give me modal editing any day \u2014 and I don't even have RSI!) are magit and org-mode. I've never tried magit so I don't know if lazygit is a decent substitute. But for org-mode in Neovim, there's https://github.com/nvim-neorg/neorg. I'm sure it's only a partial, half", "context": "", "use_case": "git interface", "switched_from": "", "story": "I tried to move my notes out of Emacs. I failed. Again"}, {"id": 794492672, "item_id": 49655792, "url": "https://news.ycombinator.com/item?id=49655792", "by": "miggol", "date": "2026-09-11", "stance": "recommend", "quote": "No excuses though, I love magit and might as well hack this myself.", "excerpt": "A slight limitation of worktrees is that you can only have a branch checked out once in all of your worktrees. I guess that's just how git works. But when I want to checkout a branch that's already checked out in another worktree, Magit just plain refuses. I wish it would offer me to either: 1. Switch to that worktree instead 2. Detach head in the other worktree and checkout here Would be such an improvement! No excu", "context": "", "use_case": "git worktrees", "switched_from": "", "story": "Working with Git Worktrees in Magit"}, {"id": 794470032, "item_id": 49654377, "url": "https://news.ycombinator.com/item?id=49654377", "by": "brabel", "date": "2026-09-11", "stance": "recommend", "quote": "And I love Magit but didn\u2019t know it handles git worktrees so well!", "excerpt": "As the author, I have been using worktrees due to AI agents. And I love Magit but didn\u2019t know it handles git worktrees so well! Thanks for letting me know, will start using magit to manage my worktrees immediately.", "context": "author of an article on git worktrees with AI agents", "use_case": "managing git worktrees", "switched_from": "", "story": "Working with Git Worktrees in Magit"}, {"id": 794275281, "item_id": 49642205, "url": "https://news.ycombinator.com/item?id=49642205", "by": "quibono", "date": "2026-09-10", "stance": "warn", "quote": "magit still feels very sluggish", "excerpt": "Great list, thank you. I recently switched to a Macbook for work and I could feel the difference in speed whenever I used Emacs back on my desktop (Linux). This helps a bit though magit still feels very sluggish.", "context": "", "use_case": "git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}, {"id": 794154385, "item_id": 49634649, "url": "https://news.ycombinator.com/item?id=49634649", "by": "iLemming", "date": "2026-09-09", "stance": "neutral", "quote": "\"I love Magit, but why is it so damn slow...\"", "excerpt": "> I notice it on macOS So, on Mac there are two main problems - displaying and fork/exec. Rendering on Mac is slower because NS port display backend just sucks. Emacs's redisplay emits many small drawing operations per frame - one per glyph run, cursor, or fringe bitmap. X11/cairo and pgtk on Linux batch those very efficiently - Cocoa has nothing comparable here. You can try installing one of the forks of Mitsuharu's", "context": "Emacs user", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}, {"id": 794141009, "item_id": 49633813, "url": "https://news.ycombinator.com/item?id=49633813", "by": "KallDrexx", "date": "2026-09-09", "stance": "warn", "quote": "Magit is the worst offender", "excerpt": "I notice it on macOS, which I use for work. I use Linux personally but no EDR there :) There are just so many little operations that cause stuttering on macOS with an unfortunately over-eager crowdstrike configuration. Magit is the worst offender but it causes paper cuts all over :(", "context": "uses macOS at work, Linux personally", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Why Emacs Consult async searches feel slow and how to speed them up"}, {"id": 792708274, "item_id": 49544267, "url": "https://news.ycombinator.com/item?id=49544267", "by": "saghm", "date": "2026-09-03", "stance": "compare", "quote": "I use a specific text editor with a specialized interface into git that's superior", "excerpt": "> I\u2019m also using magit (after a tour in various GUI) but for me it is to git what vi is to ex. Direct interaction instead of a command prompt. I'm not sure I understand how \"I use a specific text editor with a specialized interface into git that's superior\" is a counterargument to the first-party tool having horrible UX. That seems basically the exact same as what I was saying about jj, except via emacs instead of a ", "context": "", "use_case": "Git interface in Emacs", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}, {"id": 792550209, "item_id": 49534388, "url": "https://news.ycombinator.com/item?id=49534388", "by": "holgerschurig", "date": "2026-09-02", "stance": "recommend", "quote": "Git porcelain with magit.", "excerpt": "Fine, I do this since several decades. I use an editor-construction kit named \"Emacs\" to build my own Editor, and IDE, and git porcelain, and organizer, and wiki. And many things more. IDE with e.g. LSP integration, rustix and many other programmer-related modes and enhancements like tree-sitter. Git porcelain with magit. Organizer with Org-Mode. Wiki with denote.", "context": "", "use_case": "git interface", "switched_from": "", "story": "Fine, I'll build my own text editor"}, {"id": 791476770, "item_id": 49467298, "url": "https://news.ycombinator.com/item?id=49467298", "by": "jwr", "date": "2026-08-27", "stance": "recommend", "quote": "I then use mAgit to review it.", "excerpt": "I use cLaude cOde in my eMacs (through ghostel, which is unbelievably great!) to generate code :-) I then use mAgit to review it.", "context": "", "use_case": "reviewing generated code", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 791457956, "item_id": 49466122, "url": "https://news.ycombinator.com/item?id=49466122", "by": "sebastianavina", "date": "2026-08-27", "stance": "neutral", "quote": "flow between dired and magit", "excerpt": "I use windows 11, wsl2, WezTerm. emacs -nw directly on the shell. its like working on a linux computer, but from windows. I run vterm inside emacs, and claude code inside vterm. I have special commands for extracting file routes, and flow between dired and magit. Everything runs like magic. I also have copilot-chat and copilot-mode installed. From time to time I use it to review what claude has done, or to chat a lit", "context": "", "use_case": "git workflow", "switched_from": "", "story": "Emacs 31: An unofficial guide to Markdown-ts-mode"}, {"id": 789324577, "item_id": 49332786, "url": "https://news.ycombinator.com/item?id=49332786", "by": "rwl", "date": "2026-08-17", "stance": "recommend", "quote": "magit and its magical ability to stage individual hunks of a diff", "excerpt": "I started using fossil recently and have been quite pleased with this aspect of it. I miss a few things from the git world (mostly magit and its magical ability to stage individual hunks of a diff) and there are a few rough edges, but I totally agree that having a wiki and issue tracking inside the repository makes so much sense. fossil\u2018s simplicity is a breath of fresh air for anyone who has to use git from a CLI. W", "context": "", "use_case": "staging hunks in git", "switched_from": "", "story": "Ask HN: Alternatives to GitHub"}, {"id": 788906480, "item_id": 49306655, "url": "https://news.ycombinator.com/item?id=49306655", "by": "skydhash", "date": "2026-08-14", "stance": "recommend", "quote": "I use magit, so it's always easier to select only the lines/hunks/files that is for one specific change, stage and commit that.", "excerpt": "Then you may need to improve your git-fu (or $vcs-fu). I use magit, so it's always easier to select only the lines/hunks/files that is for one specific change, stage and commit that. Before magit, I use sublime merge, Intellij vcs feature, and fugitive. My flow state is for editing files. Once that's done and I've got something that work. It's always easy to convert those into sensible commits. Do not that the logs i", "context": "", "use_case": "staging and committing in git", "switched_from": "", "story": "Stop sending me PRs; a rant"}, {"id": 787619121, "item_id": 49226195, "url": "https://news.ycombinator.com/item?id=49226195", "by": "dannymi", "date": "2026-08-08", "stance": "recommend", "quote": "I recommend M-x magit to get a taste of what is possible", "excerpt": "It really depends on what your character is. I like to start from the basics and build up. I would start from a completely vanilla emacs (on package emacs-pgtk--that is the graphical version), then enable Options > Cut/Paste with C-x/C-c/C-v CUA mode, then Options > Save Options. I like and use Emacs, but it is showing its age. The defaults are all bad--but the possible end result you CAN configure is pretty modern [", "context": "", "use_case": "git", "switched_from": "", "story": "Ask HN: If you had to relearn Emacs today, how would you?"}, {"id": 785672720, "item_id": 49104545, "url": "https://news.ycombinator.com/item?id=49104545", "by": "PaulDavisThe1st", "date": "2026-07-29", "stance": "recommend", "quote": "The per-line staging in magit is a frequent tool I use.", "excerpt": "The per-line staging in magit is a frequent tool I use. I can be in the middle of bunch of other changes, change 1 line for a different reason that would otherwise be \"mid-hunk\", and the stage & commit it with its own explanation. It releases me from having to have the \"discipline\" to stay 100% focused on the broader task at hand and say \"hmm, I should fix that while I'm here\", without co-mingling purposefully differ", "context": "", "use_case": "line-level git staging", "switched_from": "", "story": "Staging patches with Git add -p"}, {"id": 784652115, "item_id": 49040757, "url": "https://news.ycombinator.com/item?id=49040757", "by": "iLemming", "date": "2026-07-24", "stance": "recommend", "quote": "knowing how much stuff there exists in Org-mode and Magit", "excerpt": "That's plausible and isn't too hard to imagine. The value of Emacs is not the concrete implementation of it - let's be honest, GNU Emacs is not void of enormously annoying warts. The value of Emacs is the nice foundational Lisp layer - something Lem does provide. One side of me wants to remain skeptical - knowing how much stuff there exists in Org-mode and Magit - piles and piles of different workflows thousands of u", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Emacs Is a Lispboard"}, {"id": 784384080, "item_id": 49024005, "url": "https://news.ycombinator.com/item?id=49024005", "by": "koiueo", "date": "2026-07-23", "stance": "recommend", "quote": "Magit OTOH stays much closer to the true git.", "excerpt": "And I hate it with a passion. The fact they they introduced their own terminology, their own lifecycle, always makes me doubt what will happen when I use any feature of their client. Magit OTOH stays much closer to the true git. Although for anything slightly more esoteric I still prefer native git cli.", "context": "", "use_case": "git client", "switched_from": "", "story": "Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot"}, {"id": 784334258, "item_id": 49020891, "url": "https://news.ycombinator.com/item?id=49020891", "by": "TacticalCoder", "date": "2026-07-23", "stance": "recommend", "quote": "Emacs now with tree-sitter, LSPs, native-compilation, magit", "excerpt": "> IntelliJ (actually Android Studio based on IntelliJ) was my first real IDE and real programming experience. I was so blown away ! I switched to IntelliJ back when people where still arguing which of the two between Eclipse or NetBeans was better (fools!): that is, before some of the commenters here were born. Heck, I bought IntelliJ when the world was ending in the Mayan calendar, it was something like 75% off beca", "context": "", "use_case": "git client", "switched_from": "", "story": "Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot"}, {"id": 784304480, "item_id": 49019030, "url": "https://news.ycombinator.com/item?id=49019030", "by": "ulrikrasmussen", "date": "2026-07-23", "stance": "recommend", "quote": "I do all of my work using magit in emacs. I don't even use emacs for writing code anymore, I only use it for git.", "excerpt": "I use git every day and can do quite advanced stuff with it, but I do all of my work using magit in emacs. I don't even use emacs for writing code anymore, I only use it for git. I just can't be bothered with using the CLI, it is too painfully inconsistent. The only downside to this is that it is hard for me to help people with git problems since I can only tell them what conceptually has to be done, not how to accom", "context": "", "use_case": "git interface", "switched_from": "", "story": "git's \u2013end-of-options Flag"}, {"id": 782507808, "item_id": 48906738, "url": "https://news.ycombinator.com/item?id=48906738", "by": "seanc", "date": "2026-07-14", "stance": "recommend", "quote": "out of the box you get reword and fixup as first-class rebase macros.  I use them all the time.", "excerpt": "Not as such, but out of the box you get reword and fixup as first-class rebase macros. I use them all the time. If you wanted to split a commit you'd still have to use a magit-assisted rebase. So if magit added explicit 'history' support I just about wouldn't notice, it would mostly be under the hood.", "context": "", "use_case": "Git rebase workflow", "switched_from": "", "story": "The Git history command deserves more attention"}, {"id": 781834128, "item_id": 48864633, "url": "https://news.ycombinator.com/item?id=48864633", "by": "agumonkey", "date": "2026-07-10", "stance": "recommend", "quote": "It's a thin layer over git output, it pops up, it infers parameters from ui state, call the usual git command, and goes out. Lean and fast", "excerpt": "\"invisible\" is something I used to describe emacs magit. It's a thin layer over git output, it pops up, it infers parameters from ui state, call the usual git command, and goes out. Lean and fast (unless large project it seems).", "context": "", "use_case": "Git in Emacs", "switched_from": "", "story": "Good Tools Are Invisible"}, {"id": 781788609, "item_id": 48861788, "url": "https://news.ycombinator.com/item?id=48861788", "by": "bryanlarsen", "date": "2026-07-10", "stance": "recommend", "quote": "And I use magit in Emacs for reviewing code.", "excerpt": "I use Emacs more in the era of AI than I did prior. I'm writing less code, but I'm reviewing more code. And I use magit in Emacs for reviewing code. And I run my agents inside my emacs. I use my emacs like most others use tmux -- my emacs session is persistent and I connect with emacsclient.", "context": "", "use_case": "code review", "switched_from": "", "story": "How do you use Vim in the era of AI?"}, {"id": 779611216, "item_id": 48725701, "url": "https://news.ycombinator.com/item?id=48725701", "by": "tetris11", "date": "2026-06-29", "stance": "recommend", "quote": "I love it, I just wish it wouldn't hang so much rendering the output of the near instantaneous git commands.", "excerpt": "I love it, I just wish it wouldn't hang so much rendering the output of the near instantaneous git commands. More of an emacs problem than a magit one, but a persistent gripe for me", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Magit - a complete text-based user interface to Git"}, {"id": 777399842, "item_id": 48587490, "url": "https://news.ycombinator.com/item?id=48587490", "by": "SoftTalker", "date": "2026-06-18", "stance": "recommend", "quote": "That, org-mode, and magit is about all I use for coding and text editing.", "excerpt": "I'm glad to see that people are working on emacs, as I use it constantly. That said, I personally don't see myself really using any of the stuff highlighted in this article. I've never really been in to advanced auto-complete or tree-sitter type of functionality. Some tasteful syntax highlighting and indentation support is fine but that's about as far as I go. That, org-mode, and magit is about all I use for coding a", "context": "", "use_case": "git client", "switched_from": "", "story": "Emacs 31 Is Around the Corner: The Changes I'm Daily Driving"}, {"id": 777370833, "item_id": 48585677, "url": "https://news.ycombinator.com/item?id=48585677", "by": "asimovDev", "date": "2026-06-18", "stance": "recommend", "quote": "although the brief time I used Magit I was enamored I gotta say.", "excerpt": "back in 2nd year of university I remember thinking that vim is complicated so i went with Emacs. Now after using vim for couple years , I can't imagine going to Emacs and learning it. The availability of vim emulation in majority of text editors and IDEs has been a lifesaver although the brief time I used Magit I was enamored I gotta say. I tried lazygit recently and it evoked the same feeling I had when trying Magit", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Emacs 31 Is Around the Corner: The Changes I'm Daily Driving"}, {"id": 766007504, "item_id": 47875469, "url": "https://news.ycombinator.com/item?id=47875469", "by": "antoineMoPa", "date": "2026-04-23", "stance": "recommend", "quote": "magit is pretty useful!", "excerpt": "magit is pretty useful! In particular, I use M-x magit-blame for blaming a file line by line and jumping to previous versions, M-x magit-status to stage individual files, M-x magit-log-buffer-file to know the file's history. Very helpful when tracking down bugs.", "context": "", "use_case": "git blame, staging, file history", "switched_from": "", "story": "Ask HN: What's your favorite Emacs package?"}, {"id": 765417009, "item_id": 47838563, "url": "https://news.ycombinator.com/item?id=47838563", "by": "samtrack2019", "date": "2026-04-20", "stance": "neutral", "quote": "since i use lazygit/magit", "excerpt": "the new git history command seems to be useful for quick reword, altho since i use lazygit/magit i don't really see much of a problem to me", "context": "", "use_case": "git workflow", "switched_from": "", "story": "Highlights from Git 2.54"}, {"id": 759436258, "item_id": 47464766, "url": "https://news.ycombinator.com/item?id=47464766", "by": "globular-toast", "date": "2026-03-21", "stance": "recommend", "quote": "it's really quick for me to jump back and forth between this and magit, which I use to review what it's done", "excerpt": "I use this. I run it in a sandbox[0]. I run it inside Emacs vterm so it's really quick for me to jump back and forth between this and magit, which I use to review what it's done. I really should look into more \"native\" Emacs options as I find using vterm a bit of a clunky hack. But I'm just not that excited about this stuff right now. I use it because I'm lazy, that's all. Right now I'm actually getting into woodwork", "context": "", "use_case": "reviewing agent changes", "switched_from": "", "story": "OpenCode \u2013 The open source AI coding agent"}, {"id": 757297040, "item_id": 47331065, "url": "https://news.ycombinator.com/item?id=47331065", "by": "Forge36", "date": "2026-03-10", "stance": "recommend", "quote": "I'm still finding it an improvement over the CLI.", "excerpt": "Profiling[1] your own repository and tweaking as necessary (possibly disabling auto-status refresh) will likely yield significant performance improvements. I use magit with a very large repository (100k files, millions of commits) it's still not lightning fast like it is with smaller repositories, I'm still finding it an improvement over the CLI. My config notes this saves me ~13 seconds in git-status (remove-hook 'm", "context": "works with a 100k-file repository", "use_case": "Git on a very large repo", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 757227361, "item_id": 47326710, "url": "https://news.ycombinator.com/item?id=47326710", "by": "chriswarbo", "date": "2026-03-10", "stance": "recommend", "quote": "Staging/unstaging in magit is quite nice.", "excerpt": "I'm still learning jj, so I'm not sure about jj things that majutsu might be missing, or what git/magit things seem \"missing\" but are just done differently in jj. A couple of things I tend to notice: - In magit, I can run a raw git shell commands by pressing `:`; majutsu doesn't seem to have that, so I use Emacs ordinary `M-!` - The default view in majutsu (log) isn't as slick as magit's. With magit, I'll routinely o", "context": "still learning jj", "use_case": "Git in Emacs", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 757208400, "item_id": 47325525, "url": "https://news.ycombinator.com/item?id=47325525", "by": "akagr", "date": "2026-03-10", "stance": "recommend", "quote": "Every thing except magit. I can\u2019t think of a better way to use git", "excerpt": "I feel I can given up most packages I use for some hand rolled code (with a significant time investment, that is). There will be tradeoffs. Every thing except magit. I can\u2019t think of a better way to use git, and it\u2019s one of the main reasons I\u2019ve never survived my adventures in editor wilds for very long.", "context": "Emacs user", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Two Years of Emacs Solo: 35 Modules, Zero External Packages, and a Full Refactor"}, {"id": 757202048, "item_id": 47325128, "url": "https://news.ycombinator.com/item?id=47325128", "by": "SoftTalker", "date": "2026-03-10", "stance": "recommend", "quote": "Magit is absolutely the only reason I'm able to use git.", "excerpt": "Magit is absolutely the only reason I'm able to use git. And even at that it's still confusing. Yes I know tens of thousands of devs use it every day. I've got some kind of mental block with git. I used to use Mercurial and Subversion without any issues.", "context": "", "use_case": "Git interface", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 757196032, "item_id": 47324752, "url": "https://news.ycombinator.com/item?id=47324752", "by": "jwr", "date": "2026-03-10", "stance": "recommend", "quote": "Magit is absolutely wonderful. It is one of the main tools I use daily to get my work done", "excerpt": "Magit is absolutely wonderful. It is one of the main tools I use daily to get my work done, especially now that AI does a lot of the work for me. I spend a lot of my time in magit looking at diffs! I would encourage anyone who relies on magit to sponsor tarsius to make his fantastic work sustainable.", "context": "", "use_case": "reviewing diffs and Git", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 757189968, "item_id": 47324373, "url": "https://news.ycombinator.com/item?id=47324373", "by": "chriswarbo", "date": "2026-03-10", "stance": "recommend", "quote": "I've been using magit for years", "excerpt": "I've been using magit for years, and it's the reason I avoided giving the jujutsu VCS a try: the `jj` workflow/UI is supposedly much nicer than the `git` workflow/UI; but since I use magit more than bare `git` commands, that wasn't enough to sell me. I finally gave it a try when I came across the majutsu package, which is a magit-like interface for jujutsu. I recommend it for Emacs/magit users wanting to try `jj`!", "context": "Emacs user", "use_case": "Git interface in Emacs", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 757173824, "item_id": 47323364, "url": "https://news.ycombinator.com/item?id=47323364", "by": "mschulze", "date": "2026-03-10", "stance": "recommend", "quote": "The UX of magit is just out of this world.", "excerpt": "I use magit daily for over 8 years now. Over that time I have showed it to many other peers, out of excitement for a tool that made me more productive and helped me learn - but I never could convince even one to use it. Maybe it's my persuasion skills, maybe tool usage is too personal - I don't know, but it makes me kind of sad. The UX of magit is just out of this world. Especially for rebasing, subset rebases (using", "context": "daily user for over 8 years", "use_case": "Git, especially rebasing", "switched_from": "", "story": "Rebasing in Magit"}, {"id": 753528769, "item_id": 47095548, "url": "https://news.ycombinator.com/item?id=47095548", "by": "r1chardnl", "date": "2026-02-20", "stance": "neutral", "quote": "I used Magit before", "excerpt": "I love AI side projects, it allows for quick iteration and finishing on ideas that weren't feasible due to time constraints before. I just made one yesterday/today. I used Magit before and during the making of this I found out GitUI exists too but I think it's pretty powerful if the tool doesn't do exactly what you want and are opionated you can tailor your tools the way you want to. https://github.com/riicchhaarrd/t", "context": "", "use_case": "git client", "switched_from": "", "story": "I hate AI side projects"}, {"id": 745764608, "item_id": 46610288, "url": "https://news.ycombinator.com/item?id=46610288", "by": "nothrabannosir", "date": "2026-01-13", "stance": "recommend", "quote": "I use magit which afaik is still undefeated for this workflow.", "excerpt": "I use magit which afaik is still undefeated for this workflow. Particularly with this snippet to \u201cpop down\u201d individual ranges of changes from a commit: https://br0g.0brg.net/notes/2026-01-13T09:49:00-0500.html .", "context": "", "use_case": "git rebase workflow", "switched_from": "", "story": "Git Rebase for the Terrified"}, {"id": 732538865, "item_id": 45783679, "url": "https://news.ycombinator.com/item?id=45783679", "by": "sinker", "date": "2025-11-01", "stance": "recommend", "quote": "my only essential package addon-ons are magit and yasnippet.", "excerpt": "I recommend starting with vanilla Emacs and just adding things as you find the need for them. Emacs comes with a lot of things OOTB. After a decade, my only essential package addon-ons are magit and yasnippet. I have other packages installed, but they're esoteric for my own purposes.", "context": "Emacs user for a decade", "use_case": "Git interface", "switched_from": "", "story": "Ask HN: Where to begin with \"modern\" Emacs?"}]}