{"slug": "git", "name": "Git", "category": "git", "category_name": "Git and code hosting", "description": "Distributed version control system for tracking changes in source code and other files.", "recommenders": 59, "commenters": 116, "warners": 8, "score": 58.797, "rising": 4.58, "first": "2025-11-07", "latest": "2026-10-29", "why": "HN commenters praise Git as reliable, powerful version control with standout commands like interactive rebase and add -p, and use it for writing, data and configs as well as code.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 60, "neutral": 42, "compare": 8, "warn": 10}, "spark": [2, 3, 1, 4, 5, 4, 3, 9, 11, 5, 5, 8], "listed": true, "loved": ["Powerful commands", "Reliable and proven"], "caveat": "Confusing UX", "short_quote": "He makes a good tool? Honestly I don\u2019t get the git hate on HN. I\u2019ve been using it for years with no issue.", "icon": true, "domain": "git-scm.com", "github_repo": null, "official_url": "https://git-scm.com/", "pricing": "open source", "aliases": ["Git", "git"], "verdict": [{"text": "HN commenters praise Git as reliable, powerful version control", "cites": [{"id": 782528080, "item_id": 48908005, "url": "https://news.ycombinator.com/item?id=48908005", "by": "munksbeer", "date": "2026-07-14", "stance": "recommend", "quote": "I love git, it is by far the best version control system I've used in nearly 25+ years.", "excerpt": "Disclaimer: I love git, it is by far the best version control system I've used in nearly 25+ years. But, his point is objective, so he doesn't need to provide subjective proof to you. Do lots of people find git confusing? Yes. It is a very common view. Therefore, based only on observed evidence, we can pretty confidently say that git is confusing. Is it as confusing as something else, or as confusing as the reputatio", "context": "25+ years of version control experience", "use_case": "version control", "switched_from": "", "story": "The Git history command deserves more attention"}, {"id": 766904688, "item_id": 47931543, "url": "https://news.ycombinator.com/item?id=47931543", "by": "nananana9", "date": "2026-04-28", "stance": "recommend", "quote": "Git is industry standard, because for what it give you it's a remarkably robust and simple program to use.", "excerpt": "Git is industry standard, because for what it give you it's a remarkably robust and simple program to use. We're all vaguely aware that the internals are complex, but the UX is clean and usable enough that the complexity usually doesn't leak out. But the day this breaks down and I have to deal with bloom filters, packfiles, maintaining the git garbage collector or rerere cleanup, is the day I switch our codebase to a", "context": "", "use_case": "version control", "switched_from": "", "story": "Ted Nyman \u2013 High Performance Git"}, {"id": 789854064, "item_id": 49365879, "url": "https://news.ycombinator.com/item?id=49365879", "by": "mikewarot", "date": "2026-08-19", "stance": "recommend", "quote": "git is still freaking magic.", "excerpt": "Having programmed back in the days when source control involved 1.44mb floppy disks with paper labels stating the version of the pkZipped source code and the date.... git is still freaking magic. We used to comment out the old version of code but leave it in the source as our sole undo strategy. git brings sanity to the world. We live in the future, it's glorious. 8)", "context": "programmer since the floppy-disk era", "use_case": "source control", "switched_from": "floppy-disk versioned source", "story": null}]}, {"text": " with standout commands like interactive rebase and add -p,", "cites": [{"id": 784862240, "item_id": 49053890, "url": "https://news.ycombinator.com/item?id=49053890", "by": "jauntywundrkind", "date": "2026-07-25", "stance": "recommend", "quote": "imo every dev should work to get some competency with git rebase! it's an amazing tool.", "excerpt": "rebase interactive is so great, such a powerful tool. it's the one clear tool that i used all the time. moving to jj, it has lots of amazing tools starting with `jj edit` to go change the past safely & conveniently, with much less pain. but i miss the direct powerful data-driven experience of seeing the timeline in a text file, and picking what to do with it. sometimes. imo every dev should work to get some competenc", "context": "", "use_case": "version control", "switched_from": "", "story": "Git rebase -I is not that scary"}, {"id": 784866832, "item_id": 49054177, "url": "https://news.ycombinator.com/item?id=49054177", "by": "trescenzi", "date": "2026-07-25", "stance": "recommend", "quote": "Another git command I love using is `git add -p`.", "excerpt": "Another git command I love using is `git add -p`. I always want to commit in chunks as I go but sometimes I wait to long or realize later I could have broken it up. Being able to select only pieces of a file to add to a specific commit is so great. Editing the chunks manually can be a bit intimidating but since it only stages the change you can always restore the file and try again if the diff doesn't look right afte", "context": "", "use_case": "staging commits in chunks", "switched_from": "", "story": "Git rebase -I is not that scary"}, {"id": 792222896, "item_id": 49513931, "url": "https://news.ycombinator.com/item?id=49513931", "by": "kouteiheika", "date": "2026-08-31", "stance": "recommend", "quote": "just do `git rebase -i` interactive rebase at the end to squash them", "excerpt": "> In my company we use graphite and stacked PRs so it is highly encouraged to keep one commit per PR, so I am constantly ammending my commits. So this makes it even simpler for you. Then you don't have to care at all about keeping your commits clean (as in: you don't have to keep them organized enough to be able to reshuffle them into a nice set of multiple commits later on). Just commit whatever, and then just do `g", "context": "", "use_case": "squashing commits", "switched_from": "", "story": "Breaking Claude Code Opus 5 Auto Mode"}]}, {"text": " and use it for writing, data and configs as well as code.", "cites": [{"id": 794958177, "item_id": 49684886, "url": "https://news.ycombinator.com/item?id=49684886", "by": "swiftcoder", "date": "2026-09-13", "stance": "recommend", "quote": "Putting your writing in version control turns out to buy you a lot of metadata for free.", "excerpt": "Putting your writing in version control turns out to buy you a lot of metadata for free. These days it's an Obsidian vault in git, but I used to just keep plain markdown files for notes/writing/etc", "context": "", "use_case": "versioning writing", "switched_from": "", "story": "Ode to Metadata"}, {"id": 793298320, "item_id": 49581145, "url": "https://news.ycombinator.com/item?id=49581145", "by": "unqueued", "date": "2026-09-05", "stance": "recommend", "quote": "Git can do some amazing stuff, I use it for data as well as code.", "excerpt": "What problem are you trying to solve exactly? I think submodules are good enough for what they do and there's room in Git's model for forward development and it's also flexible enough that third party tools can piggyback on it. Like Git in general it's a bit of a pain till you practice with it more. Git can do some amazing stuff, I use it for data as well as code.", "context": "", "use_case": "version control for data and code", "switched_from": "", "story": "Git Submodules as a Package Manager"}, {"id": 778910864, "item_id": 48681929, "url": "https://news.ycombinator.com/item?id=48681929", "by": "Helmut10001", "date": "2026-06-25", "stance": "recommend", "quote": "I am very happy with a simple git tracking approach that I use across Proxmoxes and VMs", "excerpt": "I get your point and this is likely also not what you mean, but I am very happy with a simple git tracking approach that I use across Proxmoxes and VMs [1]. [1]: https://du.nkel.dev/blog/2026-05-16_rootless_docker_virtiofs_proxmox/#git-based-configuration-tracking", "context": "", "use_case": "tracking config files", "switched_from": "", "story": "Migrating from Proxmox to NixOS and Incus"}]}, {"text": " The most common complaint is a confusing, hard-to-learn command set,", "cites": [{"id": 768122176, "item_id": 48007636, "url": "https://news.ycombinator.com/item?id=48007636", "by": "gritzko", "date": "2026-05-04", "stance": "warn", "quote": "The most annoying thing about git is its jungle of commands.", "excerpt": "The most annoying thing about git is its jungle of commands. I had an idea of ordering all the turns and twists in some sort of \"periodic table of VCS commands\". Now I use it daily https://replicated.wiki/blog/partIII.html", "context": "", "use_case": "version control", "switched_from": "", "story": "From CVS to Git, thirty years of source control"}, {"id": 792708272, "item_id": 49544267, "url": "https://news.ycombinator.com/item?id=49544267", "by": "saghm", "date": "2026-09-03", "stance": "warn", "quote": "the first-party tool having horrible UX", "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": "version control", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}, {"id": 792707776, "item_id": 49544236, "url": "https://news.ycombinator.com/item?id=49544236", "by": "saghm", "date": "2026-09-02", "stance": "warn", "quote": "needing to learn the underlying theory of how a tool works that's only a small part of how I do my job is not a good user experience", "excerpt": "I don't think this framing makes much sense; playing piano isn't a \"tool\" that you use to achieve some other task, it's literally the goal itself. Using git is not the goal, it's the tool I use to do something else, and needing to learn the underlying theory of how a tool works that's only a small part of how I do my job is not a good user experience.", "context": "", "use_case": "version control", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}]}, {"text": " and it handles large binary files poorly.", "cites": [{"id": 777141025, "item_id": 48571314, "url": "https://news.ycombinator.com/item?id=48571314", "by": "adamnemecek", "date": "2026-06-17", "stance": "warn", "quote": "git is really not well suited for this.", "excerpt": "This looks really good. I have been using git to store some PDF (tens of GBs) and git is really not well suited for this.", "context": "", "use_case": "storing large PDFs", "switched_from": "", "story": "Epic Games announces Lore version control system"}, {"id": 794244114, "item_id": 49640257, "url": "https://news.ycombinator.com/item?id=49640257", "by": "MindSpunk", "date": "2026-09-10", "stance": "recommend", "quote": "I've yet to find a workflow as powerful as my git workflows for managing code", "excerpt": "From my experience Git LFS is extremely brittle and will break your local check out if you so much as breath on it wrong. Perforce is an expensive solution to the problems of LFS, and I've yet to find a workflow as powerful as my git workflows for managing code. I don't really see what the article is talking about as the future, but if P4 or Git LFS is the best we can do as a species then we're doomed. All VCS option", "context": "", "use_case": "managing code", "switched_from": "", "story": "Version control second coming"}]}], "praise": [{"label": "Powerful commands", "summary": "Commands like interactive rebase, add -p, worktrees and log -S give users fine-grained control over history and changes.", "quotes": [{"id": 784862240, "item_id": 49053890, "url": "https://news.ycombinator.com/item?id=49053890", "by": "jauntywundrkind", "date": "2026-07-25", "stance": "recommend", "quote": "imo every dev should work to get some competency with git rebase! it's an amazing tool.", "excerpt": "rebase interactive is so great, such a powerful tool. it's the one clear tool that i used all the time. moving to jj, it has lots of amazing tools starting with `jj edit` to go change the past safely & conveniently, with much less pain. but i miss the direct powerful data-driven experience of seeing the timeline in a text file, and picking what to do with it. sometimes. imo every dev should work to get some competenc", "context": "", "use_case": "version control", "switched_from": "", "story": "Git rebase -I is not that scary"}, {"id": 784866832, "item_id": 49054177, "url": "https://news.ycombinator.com/item?id=49054177", "by": "trescenzi", "date": "2026-07-25", "stance": "recommend", "quote": "Another git command I love using is `git add -p`.", "excerpt": "Another git command I love using is `git add -p`. I always want to commit in chunks as I go but sometimes I wait to long or realize later I could have broken it up. Being able to select only pieces of a file to add to a specific commit is so great. Editing the chunks manually can be a bit intimidating but since it only stages the change you can always restore the file and try again if the diff doesn't look right afte", "context": "", "use_case": "staging commits in chunks", "switched_from": "", "story": "Git rebase -I is not that scary"}, {"id": 777604096, "item_id": 48600256, "url": "https://news.ycombinator.com/item?id=48600256", "by": "tomjakubowski", "date": "2026-06-19", "stance": "recommend", "quote": "I use git worktrees pretty heavily in my own workflows", "excerpt": "I use git worktrees pretty heavily in my own workflows (I worked like an AI agent before AI agents made worktrees cool). I like to track my ephemera/utility scripts in git, so what I do is keep a private ephemera repo for those, and then use `git worktree add` from the collaborative repo to check out the branch I'm working on there into a subdirectory of my ephemera repo. git-home/ company-project/ <-- git repo with ", "context": "", "use_case": "parallel branch worktrees", "switched_from": "", "story": ".gitignore Isn't the Only Way to Ignore Files in Git"}]}, {"label": "Reliable and proven", "summary": "Long-time users call it the best version control system they have used, robust and far better than older approaches.", "quotes": [{"id": 782528080, "item_id": 48908005, "url": "https://news.ycombinator.com/item?id=48908005", "by": "munksbeer", "date": "2026-07-14", "stance": "recommend", "quote": "I love git, it is by far the best version control system I've used in nearly 25+ years.", "excerpt": "Disclaimer: I love git, it is by far the best version control system I've used in nearly 25+ years. But, his point is objective, so he doesn't need to provide subjective proof to you. Do lots of people find git confusing? Yes. It is a very common view. Therefore, based only on observed evidence, we can pretty confidently say that git is confusing. Is it as confusing as something else, or as confusing as the reputatio", "context": "25+ years of version control experience", "use_case": "version control", "switched_from": "", "story": "The Git history command deserves more attention"}, {"id": 789854064, "item_id": 49365879, "url": "https://news.ycombinator.com/item?id=49365879", "by": "mikewarot", "date": "2026-08-19", "stance": "recommend", "quote": "git is still freaking magic.", "excerpt": "Having programmed back in the days when source control involved 1.44mb floppy disks with paper labels stating the version of the pkZipped source code and the date.... git is still freaking magic. We used to comment out the old version of code but leave it in the source as our sole undo strategy. git brings sanity to the world. We live in the future, it's glorious. 8)", "context": "programmer since the floppy-disk era", "use_case": "source control", "switched_from": "floppy-disk versioned source", "story": null}, {"id": 766904688, "item_id": 47931543, "url": "https://news.ycombinator.com/item?id=47931543", "by": "nananana9", "date": "2026-04-28", "stance": "recommend", "quote": "Git is industry standard, because for what it give you it's a remarkably robust and simple program to use.", "excerpt": "Git is industry standard, because for what it give you it's a remarkably robust and simple program to use. We're all vaguely aware that the internals are complex, but the UX is clean and usable enough that the complexity usually doesn't leak out. But the day this breaks down and I have to deal with bloom filters, packfiles, maintaining the git garbage collector or rerere cleanup, is the day I switch our codebase to a", "context": "", "use_case": "version control", "switched_from": "", "story": "Ted Nyman \u2013 High Performance Git"}]}, {"label": "Beyond code", "summary": "People use it to version resumes, writing, books, data, music and system configuration.", "quotes": [{"id": 782424736, "item_id": 48901546, "url": "https://news.ycombinator.com/item?id=48901546", "by": "nativeit", "date": "2026-07-13", "stance": "recommend", "quote": "I tell everyone I work with they should learn it.", "excerpt": "I don\u2019t consider myself a coder or programmer, but learning git was like an organizational superpower for my particular brain wiring. I use it for websites, design projects, electronics engineering, music composition, personal knowledge bases, remote administration scripts, config management, snippets, so many applications and so many features for one system. It\u2019s not always perfect, but I tell everyone I work with t", "context": "non-programmer", "use_case": "versioning websites, designs, configs", "switched_from": "", "story": "The Git history command deserves more attention"}, {"id": 794958177, "item_id": 49684886, "url": "https://news.ycombinator.com/item?id=49684886", "by": "swiftcoder", "date": "2026-09-13", "stance": "recommend", "quote": "Putting your writing in version control turns out to buy you a lot of metadata for free.", "excerpt": "Putting your writing in version control turns out to buy you a lot of metadata for free. These days it's an Obsidian vault in git, but I used to just keep plain markdown files for notes/writing/etc", "context": "", "use_case": "versioning writing", "switched_from": "", "story": "Ode to Metadata"}, {"id": 804309232, "item_id": 50269327, "url": "https://news.ycombinator.com/item?id=50269327", "by": "aizk", "date": "2026-10-28", "stance": "recommend", "quote": "try out git for your resume! Commits change as you progress in life, and make branches for individually tailored resumes.", "excerpt": "If you're like me and also eager for cool uses for git, I'll share a cool one I use -- try out git for your resume! Commits change as you progress in life, and make branches for individually tailored resumes. Blew my mind when I realized I could do that.", "context": "", "use_case": "versioning resumes", "switched_from": "", "story": "Git for the US Code"}]}, {"label": "Decentralized hosting", "summary": "It can be self-hosted over SSH or the filesystem without GitHub, which matches its decentralized design.", "quotes": [{"id": 753597233, "item_id": 47099827, "url": "https://news.ycombinator.com/item?id=47099827", "by": "donatj", "date": "2026-02-21", "stance": "recommend", "quote": "The entire design of git was intended to be decentralized.", "excerpt": "It's interesting to me every time one of these \"I just figured out I can use git without GitHub\" posts comes up. The entire design of git was intended to be decentralized. You really don't even need the centralized bare repo! You can just point your machines at each other. With Tailscale these days that's especially easy. Admittedly, I'm getting old, but for the first couple years I used git professionally ~2008-2011", "context": "developer using git since ~2008", "use_case": "decentralized version control", "switched_from": "", "story": "The bare minimum for syncing Git repos"}, {"id": 789406096, "item_id": 49337881, "url": "https://news.ycombinator.com/item?id=49337881", "by": "hebetude", "date": "2026-08-17", "stance": "recommend", "quote": "I moved to self hosting git. Now it\u2019s always up, go figure!", "excerpt": "Git can be hosted over ssh or filesystem. I moved to self hosting git. Now it\u2019s always up, go figure!", "context": "", "use_case": "self-hosted repos", "switched_from": "GitHub", "story": "Cursor launches Origin, GitHub alternative"}, {"id": 789365248, "item_id": 49335328, "url": "https://news.ycombinator.com/item?id=49335328", "by": "myaccountonhn", "date": "2026-08-17", "stance": "recommend", "quote": "ssh server git --bare init myrepo.git", "excerpt": "It can be as brief as: ssh server git --bare init myrepo.git git clone server:myrepo.git", "context": "", "use_case": "self-hosting repositories over ssh", "switched_from": "", "story": "Ask HN: Alternatives to GitHub"}]}, {"label": "Industry standard", "summary": "Commenters describe it as the most successful version control system and a tool developers are expected to know.", "quotes": [{"id": 781754816, "item_id": 48859676, "url": "https://news.ycombinator.com/item?id=48859676", "by": "iand675", "date": "2026-07-10", "stance": "recommend", "quote": "Git is not invisible to anyone, ever, and it's the most successful version control system ever built, for better or worse.", "excerpt": "The problem with the article is that it's two arguments pretending to be one. The first argument is about people. People romanticize the flaws of their tools, turn vim macros into a personality, and mistake the feeling of cleverness for output. Fine. True. Bill is correct that a lot of tool evangelism is tribal signaling dressed up as productivity advice. However, people join these tribes because they get benefit fro", "context": "software developer", "use_case": "version control", "switched_from": "", "story": "Good Tools Are Invisible"}, {"id": 800010592, "item_id": 50000662, "url": "https://news.ycombinator.com/item?id=50000662", "by": "verdverm", "date": "2026-10-08", "stance": "recommend", "quote": "imagine if a potential hire said they were unwilling to use git, would you hire them? We use VCS for a reason", "excerpt": "> I feel like the use of these habits will be biting them in the butt a few years ahead Sounds like you are not using them in a professional software setting? Like any tool, it's how you wield it, there will be dumb people and people who show the real power. Where I'm working, Ai is improving code and documentation quality. It's not magic pixie dust, you have to be intentional and in-the-loop The world of software de", "context": "professional software developer", "use_case": "version control", "switched_from": "", "story": "What is the actual percentage of people for and against AI?"}, {"id": 759692162, "item_id": 47480760, "url": "https://news.ycombinator.com/item?id=47480760", "by": "DHolzer", "date": "2026-03-22", "stance": "recommend", "quote": "Not having Nix would be like having to work on code without Git \u2014 absolutely unacceptable.", "excerpt": "I switched over to Nix about a year ago. I was a Windows user before that for 30 years and tried Linux a couple of times, but it never stuck. Now I know I will never touch Windows again. With NixOS I've finally found a system that actually works for me \u2014 and the full OS configuration is in a repo. My god, I love it so much. Sometimes I even prefer nix-shells over uv for quick one-off Python scripts. I cannot sufficie", "context": "", "use_case": "version control", "switched_from": "", "story": "Why I love NixOS"}]}], "caveats": [{"label": "Confusing UX", "summary": "Critics say the command set is a jungle with leaky abstractions that forces users to learn its internals.", "quotes": [{"id": 768122176, "item_id": 48007636, "url": "https://news.ycombinator.com/item?id=48007636", "by": "gritzko", "date": "2026-05-04", "stance": "warn", "quote": "The most annoying thing about git is its jungle of commands.", "excerpt": "The most annoying thing about git is its jungle of commands. I had an idea of ordering all the turns and twists in some sort of \"periodic table of VCS commands\". Now I use it daily https://replicated.wiki/blog/partIII.html", "context": "", "use_case": "version control", "switched_from": "", "story": "From CVS to Git, thirty years of source control"}, {"id": 792708272, "item_id": 49544267, "url": "https://news.ycombinator.com/item?id=49544267", "by": "saghm", "date": "2026-09-03", "stance": "warn", "quote": "the first-party tool having horrible UX", "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": "version control", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}, {"id": 783479840, "item_id": 48967490, "url": "https://news.ycombinator.com/item?id=48967490", "by": "pxmpxm", "date": "2026-07-19", "stance": "warn", "quote": "a poorly architected product with leaky abstraction all over", "excerpt": "I love that comments like these incept million tech bro look-at-my-clout responses for having learned some subset of the magic incantations to make git barely usable... As if you get an award for mental heuristics to put up with a poorly architected product with leaky abstraction all over. If you mentions reflogs, i'm yelling bingo. Bonus points: You have 3 new commits and in one there is a change in file.stupid, how", "context": "", "use_case": "version control", "switched_from": "", "story": "Perforce charges $500 for training training videos.. and it's AI narrated"}]}, {"label": "Large binary files", "summary": "Git is poorly suited to storing large files like PDFs, and Git LFS is described as brittle.", "quotes": [{"id": 777141025, "item_id": 48571314, "url": "https://news.ycombinator.com/item?id=48571314", "by": "adamnemecek", "date": "2026-06-17", "stance": "warn", "quote": "git is really not well suited for this.", "excerpt": "This looks really good. I have been using git to store some PDF (tens of GBs) and git is really not well suited for this.", "context": "", "use_case": "storing large PDFs", "switched_from": "", "story": "Epic Games announces Lore version control system"}, {"id": 794244114, "item_id": 49640257, "url": "https://news.ycombinator.com/item?id=49640257", "by": "MindSpunk", "date": "2026-09-10", "stance": "recommend", "quote": "I've yet to find a workflow as powerful as my git workflows for managing code", "excerpt": "From my experience Git LFS is extremely brittle and will break your local check out if you so much as breath on it wrong. Perforce is an expensive solution to the problems of LFS, and I've yet to find a workflow as powerful as my git workflows for managing code. I don't really see what the article is talking about as the future, but if P4 or Git LFS is the best we can do as a species then we're doomed. All VCS option", "context": "", "use_case": "managing code", "switched_from": "", "story": "Version control second coming"}]}, {"label": "Overkill for some", "summary": "Some solo users find it adds friction or few advantages over a simpler local SVN setup.", "quotes": [{"id": 768101217, "item_id": 48006326, "url": "https://news.ycombinator.com/item?id=48006326", "by": "binaryturtle", "date": "2026-05-04", "stance": "warn", "quote": "For my use case git is just too much extra friction", "excerpt": "I use Subversion w/o a server too. You can have your repositories locally (file:///Path/to/repository). All my own (single man) projects are in local SVN repositories. For my use case git is just too much extra friction, and I still love to have my one single unique global revisions number that is linearly increasing with each commit. :)", "context": "", "use_case": "", "switched_from": "", "story": "From CVS to Git, thirty years of source control"}, {"id": 802732880, "item_id": 50170805, "url": "https://news.ycombinator.com/item?id=50170805", "by": "kstrauser", "date": "2026-10-20", "stance": "recommend", "quote": "While I love git", "excerpt": "I'm not sure if you know who jwz is, because I wouldn't put any of those in the realm of impossibility. But I think it's plausible that he might not've migrated his ancient codebase (not meant as a pejorative, but just factually) to broadly multiuser tooling. If he's maintaining the project locally, I can imagine him having spun up a svn repo way back when and not moving past it. While I love git, it might not have a", "context": "", "use_case": "", "switched_from": "", "story": "There is no official XScreenSaver GitHub repository"}]}, {"label": "Branching model", "summary": "One commenter argues Git made branching workflows worse than older branch-based VCSes did.", "quotes": [{"id": 764328272, "item_id": 47770517, "url": "https://news.ycombinator.com/item?id=47770517", "by": "ezst", "date": "2026-04-14", "stance": "warn", "quote": "git made the playing field worse", "excerpt": "> I think there are (or perhaps were) some product issues regarding the specifics of various workflows. I love jumping in discussions about git branching, because that's a very objective and practical area where git made the playing field worse. Less and less people feel it, because people old-enough to have used branch-powered VCSes have long forgotten about them, and those who didn't forget are under-represented in", "context": "", "use_case": "version control branching", "switched_from": "", "story": "GitHub Stacked PRs"}]}], "who": [{"by": "vuggamie", "context": "older developer (50+)", "url": "https://news.ycombinator.com/item?id=50289296", "date": "2026-10-29"}, {"by": "verdverm", "context": "professional software developer", "url": "https://news.ycombinator.com/item?id=50000662", "date": "2026-10-08"}, {"by": "mikewarot", "context": "programmer since the floppy-disk era", "url": "https://news.ycombinator.com/item?id=49365879", "date": "2026-08-19"}, {"by": "invader", "context": "game developer", "url": "https://news.ycombinator.com/item?id=48977208", "date": "2026-07-20"}, {"by": "ndriscoll", "context": "uses rebase a lot and expects team to", "url": "https://news.ycombinator.com/item?id=48968840", "date": "2026-07-19"}, {"by": "munksbeer", "context": "25+ years of version control experience", "url": "https://news.ycombinator.com/item?id=48908005", "date": "2026-07-14"}, {"by": "nativeit", "context": "non-programmer", "url": "https://news.ycombinator.com/item?id=48901546", "date": "2026-07-13"}, {"by": "bloody-crow", "context": "17 years of experience, moderately advanced git user", "url": "https://news.ycombinator.com/item?id=48864555", "date": "2026-07-10"}, {"by": "iand675", "context": "software developer", "url": "https://news.ycombinator.com/item?id=48859676", "date": "2026-07-10"}, {"by": "diamondap", "context": "publishing print and ebooks since 2015", "url": "https://news.ycombinator.com/item?id=48284209", "date": "2026-05-26"}, {"by": "jedberg", "context": "worked at reddit", "url": "https://news.ycombinator.com/item?id=48173958", "date": "2026-05-17"}, {"by": "donatj", "context": "developer using git since ~2008", "url": "https://news.ycombinator.com/item?id=47099827", "date": "2026-02-21"}], "tags": ["self-hostable", "for writers", "for config management", "for non-programmers", "for local-only versioning"], "use_cases": ["version control", "source control", "version control via cli", "monorepo version control", "versioning resumes", "version control and compression"], "compared": [{"slug": "jujutsu", "name": "Jujutsu", "co": 65, "switched_from": 0, "switched_to": 26}, {"slug": "fossil", "name": "Fossil", "co": 24, "switched_from": 0, "switched_to": 2}, {"slug": "mercurial", "name": "Mercurial", "co": 15, "switched_from": 2, "switched_to": 1}, {"slug": "perforce", "name": "Perforce", "co": 12, "switched_from": 0, "switched_to": 0}, {"slug": "subversion", "name": "Subversion", "co": 6, "switched_from": 3, "switched_to": 0}, {"slug": "svn", "name": "SVN", "co": 8, "switched_from": 1, "switched_to": 0}, {"slug": "magit", "name": "Magit", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "github", "name": "GitHub", "co": 6, "switched_from": 1, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49053385", "title": "Git rebase -I is not that scary", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=48571081", "title": "Epic Games announces Lore version control system", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=48901010", "title": "The Git history command deserves more attention", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=49525297", "title": "The creator of Jujutsu has joined ERSC", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48965886", "title": "Perforce charges $500 for training training videos.. and it's AI narrated", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48322389", "title": "Local Git Remotes", "mentions": 3}], "sentiment_by_month": {"2025-11": {"neutral": 4, "warn": 1, "recommend": 2}, "2025-12": {"recommend": 3, "warn": 1, "neutral": 2}, "2026-01": {"recommend": 1, "neutral": 2}, "2026-02": {"neutral": 3, "recommend": 4}, "2026-03": {"recommend": 5}, "2026-04": {"recommend": 4, "neutral": 1, "warn": 1, "compare": 3}, "2026-05": {"warn": 2, "neutral": 4, "recommend": 3, "compare": 2}, "2026-06": {"recommend": 9, "neutral": 1, "warn": 1}, "2026-07": {"recommend": 11, "neutral": 12, "warn": 2}, "2026-08": {"neutral": 5, "recommend": 5}, "2026-09": {"neutral": 4, "warn": 1, "compare": 2, "recommend": 5}, "2026-10": {"neutral": 4, "recommend": 8, "warn": 1, "compare": 1}}, "quotes": [{"id": 804628739, "item_id": 50289296, "url": "https://news.ycombinator.com/item?id=50289296", "by": "vuggamie", "date": "2026-10-29", "stance": "neutral", "quote": "vim, ssh, git, scripts for building, and now Claude code", "excerpt": "As an older developer (50+) I tend to use terminal apps for my workflow: vim, ssh, git, scripts for building, and now Claude code. There are gui and web interfaces for all of this. The junior developers on my team are not comfortable with terminal apps. I spend my day in vim and zsh, but the world has moved on. On we go, up the ladder of abstraction.", "context": "older developer (50+)", "use_case": "version control", "switched_from": "", "story": "Ask HN: Why are there not more terminal apps?"}, {"id": 804309232, "item_id": 50269327, "url": "https://news.ycombinator.com/item?id=50269327", "by": "aizk", "date": "2026-10-28", "stance": "recommend", "quote": "try out git for your resume! Commits change as you progress in life, and make branches for individually tailored resumes.", "excerpt": "If you're like me and also eager for cool uses for git, I'll share a cool one I use -- try out git for your resume! Commits change as you progress in life, and make branches for individually tailored resumes. Blew my mind when I realized I could do that.", "context": "", "use_case": "versioning resumes", "switched_from": "", "story": "Git for the US Code"}, {"id": 803450352, "item_id": 50215647, "url": "https://news.ycombinator.com/item?id=50215647", "by": "datsci_est_2015", "date": "2026-10-23", "stance": "recommend", "quote": "no, Claude isn\u2019t going to replace git. Deterministic compute still has a place in software", "excerpt": "I\u2019m seeing two types of software: - stuff that\u2019s easily replicable that I can tailor to my use-case (e.g. I have an alternative to git add -p that I generated that I find much more ergonomic) - stuff that\u2019s a giant boondoggle to replicate because there are so many edge cases and considerations that it takes years of iterations to arrive at something stable Am I really going to create an iTerm2 alternative? What the h", "context": "", "use_case": "version control", "switched_from": "", "story": "Ask HN: If the models are so good, why doesn't OpenAI just start 100 companies?"}, {"id": 802963282, "item_id": 50185205, "url": "https://news.ycombinator.com/item?id=50185205", "by": "moritzwarhier", "date": "2026-10-21", "stance": "recommend", "quote": "It's so good at providing the right level of abstraction to everyone though", "excerpt": "Git doesn't have a concept of \"fork\". GitHub uses this metaphor, and, as another commenter already aptly described, it could be nothing more than a fancy name for namespaced branches, on the server side. On the client side, \"forks\" are usually different repository clones with different remotes and a \"coincidentally\" shared history. But you can also map forked repos to multiple remotes of the same repository for examp", "context": "", "use_case": "version control", "switched_from": "", "story": "PHP 8.2.35"}, {"id": 802732880, "item_id": 50170805, "url": "https://news.ycombinator.com/item?id=50170805", "by": "kstrauser", "date": "2026-10-20", "stance": "recommend", "quote": "While I love git", "excerpt": "I'm not sure if you know who jwz is, because I wouldn't put any of those in the realm of impossibility. But I think it's plausible that he might not've migrated his ancient codebase (not meant as a pejorative, but just factually) to broadly multiuser tooling. If he's maintaining the project locally, I can imagine him having spun up a svn repo way back when and not moving past it. While I love git, it might not have a", "context": "", "use_case": "", "switched_from": "", "story": "There is no official XScreenSaver GitHub repository"}, {"id": 802470226, "item_id": 50154389, "url": "https://news.ycombinator.com/item?id=50154389", "by": "hungryhobbit", "date": "2026-10-19", "stance": "recommend", "quote": "when you started using it, you soon realized how powerful it was.", "excerpt": "Genuine question: when there's new tech, sometimes it's legitimately useful and hard to appreciate (e.g. Git: it seemed no better than SVN at first, it required new commands to learn, etc.) ... but when you started using it, you soon realized how powerful it was. To me, Tmux seems ... not a whole lot better than a terminal. I use a regular old terminal that lets me rename tabs (and lets Claude rename them automatical", "context": "", "use_case": "version control", "switched_from": "", "story": "Tmux and Claude Code: Sessions, Send-Keys, and the Ceiling"}, {"id": 801319824, "item_id": 50082489, "url": "https://news.ycombinator.com/item?id=50082489", "by": "ulrikrasmussen", "date": "2026-10-14", "stance": "compare", "quote": "I have worked with both git and Perforce and see the appeal of both.", "excerpt": "I think you also expand on that later, but that paragraph just gave me pause because it essentially says that if you hold it as wrong as possible, then bad things will happen. It's a bit like presenting an alternative to relational databases by pointing out that schemas with no indexes lead to hour long queries. I'm not interested in the hypothetical worst-case of the old system, I am interested in your average traff", "context": "", "use_case": "source control", "switched_from": "", "story": "Redesigning source control at Anthropic"}, {"id": 800646992, "item_id": 50040437, "url": "https://news.ycombinator.com/item?id=50040437", "by": "nathanpankon", "date": "2026-10-11", "stance": "recommend", "quote": "Git did a better job!", "excerpt": "I played with making a git alternative that was streamlined according to workflow. I haven't completely abandoned it, but my core idea was that you can use ast path to compress the data further. Like you said git is really efficient, and even though I went in with some criticism because of the work(mess) that is chromium and the deep hacking I did there to fix stuff between versions without forcing a complete rebuild", "context": "", "use_case": "version control and compression", "switched_from": "", "story": "How big is a Git commit?"}, {"id": 800010592, "item_id": 50000662, "url": "https://news.ycombinator.com/item?id=50000662", "by": "verdverm", "date": "2026-10-08", "stance": "recommend", "quote": "imagine if a potential hire said they were unwilling to use git, would you hire them? We use VCS for a reason", "excerpt": "> I feel like the use of these habits will be biting them in the butt a few years ahead Sounds like you are not using them in a professional software setting? Like any tool, it's how you wield it, there will be dumb people and people who show the real power. Where I'm working, Ai is improving code and documentation quality. It's not magic pixie dust, you have to be intentional and in-the-loop The world of software de", "context": "professional software developer", "use_case": "version control", "switched_from": "", "story": "What is the actual percentage of people for and against AI?"}, {"id": 799924736, "item_id": 49995296, "url": "https://news.ycombinator.com/item?id=49995296", "by": "ezst", "date": "2026-10-07", "stance": "warn", "quote": "I love and dread how that describes almost to the perfection the sad state of affairs we're at with git.", "excerpt": "> but there are holdouts still on Pandas because it was so complicated to learn with so many little extra rules to learn to avoid paper cuts that they feel like learning another data manipulation tool would be really hard. Totally unrelated but I love and dread how that describes almost to the perfection the sad state of affairs we're at with git.", "context": "", "use_case": "version control", "switched_from": "", "story": "Polars 2.0"}, {"id": 799106080, "item_id": 49944130, "url": "https://news.ycombinator.com/item?id=49944130", "by": "privacyispower", "date": "2026-10-03", "stance": "neutral", "quote": "I use git.", "excerpt": "What is this website dashboard stuff? For coding? Isn't it just a big distraction and periodic focus stealer? They are assuming you are staring at that page all day? I use git. Before that clearcase,p4,svn,cvs,even rcs... In all that time never did I need a web dashboard with clippy telling me what to focus on. Emails were not good enough? Email is certainly more reliable than sh*thub.", "context": "", "use_case": "version control", "switched_from": "", "story": "GitHub's new dashboard experience now the default"}, {"id": 798904384, "item_id": 49931524, "url": "https://news.ycombinator.com/item?id=49931524", "by": "dingdongditchme", "date": "2026-10-02", "stance": "neutral", "quote": "I use(d) git much more locally, and would never run into this problem because I would only use sha-256 on new repos.", "excerpt": "I completely agree with everything you say here. I felt the critique in the article was way more strawman falacy than everything else. I use(d) git much more locally, and would never run into this problem because I would only use sha-256 on new repos. Rewriting the entire history is also not so much of a pain depending on organisation size and how it is done (if an org decided to do it). It may be a pain for git-host", "context": "", "use_case": "version control", "switched_from": "", "story": "Git 3.0's upcoming SHA-256 default will be a costly mistake"}, {"id": 798792288, "item_id": 49924518, "url": "https://news.ycombinator.com/item?id=49924518", "by": "ltbarcly3", "date": "2026-10-01", "stance": "recommend", "quote": "Adopt git 3.0 if you can with sha256.", "excerpt": "This seems like Y2K fud. The alternative to making sha256 the default is to leave sha1 the default. Nobody changes to sha256. sha1 is broken in 10 years. Suddenly everyone has to switch all at once on the same day because it is a critical security issue, but github never implemented sha256 because they didn't have to. This would be a major problem. This is very very easy to fix if you run into it. 1. Adopt git 3.0 if", "context": "", "use_case": "version control", "switched_from": "", "story": "Git 3.0's upcoming SHA-256 default will be a costly mistake"}, {"id": 798680705, "item_id": 49917544, "url": "https://news.ycombinator.com/item?id=49917544", "by": "sublinear", "date": "2026-10-01", "stance": "neutral", "quote": "use plain git on personal projects", "excerpt": "That's an interesting perspective. I feel like this is one of those topics where compromise is futile. I use GitLab at work and use plain git on personal projects. I don't like spending time on tools that aren't either teaching me or paying me.", "context": "", "use_case": "personal projects", "switched_from": "", "story": "Gitea 28.0"}, {"id": 796783520, "item_id": 49798970, "url": "https://news.ycombinator.com/item?id=49798970", "by": "moebrowne", "date": "2026-09-22", "stance": "recommend", "quote": "you can add a message when stashing: `git stash push -m \"trying a thing\"`", "excerpt": "I used to do this purely so that I could attach a name, then I found out that you can add a message when stashing: `git stash push -m \"trying a thing\"`", "context": "", "use_case": "stashing changes with names", "switched_from": "", "story": "Looking forward to Git 2.56 \u2013 and 3.0"}, {"id": 795674848, "item_id": 49729678, "url": "https://news.ycombinator.com/item?id=49729678", "by": "ahmedhossamdev", "date": "2026-09-16", "stance": "recommend", "quote": "+1 for git log -S.", "excerpt": "+1 for git log -S. Two I use daily: rg --hidden -g '!*.lock' to skip noise, and python3 -m json.tool to pretty-print API responses.", "context": "", "use_case": "searching history", "switched_from": "", "story": "Small programming tricks"}, {"id": 794958177, "item_id": 49684886, "url": "https://news.ycombinator.com/item?id=49684886", "by": "swiftcoder", "date": "2026-09-13", "stance": "recommend", "quote": "Putting your writing in version control turns out to buy you a lot of metadata for free.", "excerpt": "Putting your writing in version control turns out to buy you a lot of metadata for free. These days it's an Obsidian vault in git, but I used to just keep plain markdown files for notes/writing/etc", "context": "", "use_case": "versioning writing", "switched_from": "", "story": "Ode to Metadata"}, {"id": 794911841, "item_id": 49681990, "url": "https://news.ycombinator.com/item?id=49681990", "by": "sugarkjube", "date": "2026-09-13", "stance": "neutral", "quote": "settled on git as it's more \"standard\"", "excerpt": "I looked at fossil a long time ago and liked it a lot, but settled on git as it's more \"standard\". I guess I will have to take a look at fossil again. Off-topic, but I kinda like the style sheet of this article.", "context": "", "use_case": "version control", "switched_from": "", "story": "From Git to Fossil (2025)"}, {"id": 794896929, "item_id": 49681058, "url": "https://news.ycombinator.com/item?id=49681058", "by": "otherme123", "date": "2026-09-13", "stance": "compare", "quote": "git has tools just to make things look pretty even if they can cause serious headaches (rebase)", "excerpt": "I use both, and I prefer fossil. But my coworkers hate fossil because they can't fake their commits to make them look good. This is something I actually like about fossil: git has tools just to make things look pretty even if they can cause serious headaches (rebase), so users are skewed towards good looking timelines made with dirty commits then rearranged and squashed. OTOH fossil forces you to do your best but acc", "context": "", "use_case": "version control", "switched_from": "", "story": "From Git to Fossil (2025)"}, {"id": 794244114, "item_id": 49640257, "url": "https://news.ycombinator.com/item?id=49640257", "by": "MindSpunk", "date": "2026-09-10", "stance": "recommend", "quote": "I've yet to find a workflow as powerful as my git workflows for managing code", "excerpt": "From my experience Git LFS is extremely brittle and will break your local check out if you so much as breath on it wrong. Perforce is an expensive solution to the problems of LFS, and I've yet to find a workflow as powerful as my git workflows for managing code. I don't really see what the article is talking about as the future, but if P4 or Git LFS is the best we can do as a species then we're doomed. All VCS option", "context": "", "use_case": "managing code", "switched_from": "", "story": "Version control second coming"}, {"id": 794235746, "item_id": 49639734, "url": "https://news.ycombinator.com/item?id=49639734", "by": "pjmlp", "date": "2026-09-10", "stance": "neutral", "quote": "I have no interest in getting a black belt in git magic.", "excerpt": "What second coming? If I had the option I would still be using either Mercurial or SVN. In fact, the way I use Git is hardly any different, I have no interest in getting a black belt in git magic.", "context": "", "use_case": "version control", "switched_from": "", "story": "Version control second coming"}, {"id": 793345888, "item_id": 49584118, "url": "https://news.ycombinator.com/item?id=49584118", "by": "xigoi", "date": "2026-09-06", "stance": "neutral", "quote": "I use Git for version control", "excerpt": "I use Git for version control, but not for deployment because I don\u2019t want to bother making a commit every time I want to fix a typo.", "context": "", "use_case": "version control", "switched_from": "", "story": "Statichost.eu \u2013 European static site hosting"}, {"id": 793298320, "item_id": 49581145, "url": "https://news.ycombinator.com/item?id=49581145", "by": "unqueued", "date": "2026-09-05", "stance": "recommend", "quote": "Git can do some amazing stuff, I use it for data as well as code.", "excerpt": "What problem are you trying to solve exactly? I think submodules are good enough for what they do and there's room in Git's model for forward development and it's also flexible enough that third party tools can piggyback on it. Like Git in general it's a bit of a pain till you practice with it more. Git can do some amazing stuff, I use it for data as well as code.", "context": "", "use_case": "version control for data and code", "switched_from": "", "story": "Git Submodules as a Package Manager"}, {"id": 793133649, "item_id": 49570853, "url": "https://news.ycombinator.com/item?id=49570853", "by": "y1n0", "date": "2026-09-04", "stance": "compare", "quote": "Git's a train wreck of dumpster fires.  But it's still been basically better than everything else since svn.", "excerpt": "CLI is preferred from my point of view if only because it's the supported standard interface. VSCode's version control interface is reasonably close to a standard, and I love the tree view there. But generally I don't want to use random third party things because they either aren't consistent (i.e. now I have to learn what joe schmoe thinks a version control interface should be), or don't stick around long enough. Bu", "context": "", "use_case": "version control", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}, {"id": 792708272, "item_id": 49544267, "url": "https://news.ycombinator.com/item?id=49544267", "by": "saghm", "date": "2026-09-03", "stance": "warn", "quote": "the first-party tool having horrible UX", "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": "version control", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}, {"id": 792707776, "item_id": 49544236, "url": "https://news.ycombinator.com/item?id=49544236", "by": "saghm", "date": "2026-09-02", "stance": "warn", "quote": "needing to learn the underlying theory of how a tool works that's only a small part of how I do my job is not a good user experience", "excerpt": "I don't think this framing makes much sense; playing piano isn't a \"tool\" that you use to achieve some other task, it's literally the goal itself. Using git is not the goal, it's the tool I use to do something else, and needing to learn the underlying theory of how a tool works that's only a small part of how I do my job is not a good user experience.", "context": "", "use_case": "version control", "switched_from": "", "story": "The creator of Jujutsu has joined ERSC"}, {"id": 792529873, "item_id": 49533117, "url": "https://news.ycombinator.com/item?id=49533117", "by": "dwedge", "date": "2026-09-02", "stance": "neutral", "quote": "I always end up back in vim with CLI git", "excerpt": "This is both the blessing and the curse of terminal based interfaces (I don't like to say TUI anymore since it makes me think of bubbletea style programs now). The curse being that there is way too much initial learning of how to use it (not that much, you can get by with half a dozen vim keys for years - I used vim for a decade before learning yank) but enough to be frustrating at first. The blessing is that once yo", "context": "", "use_case": "version control", "switched_from": "", "story": "Fine, I'll build my own text editor"}, {"id": 792222896, "item_id": 49513931, "url": "https://news.ycombinator.com/item?id=49513931", "by": "kouteiheika", "date": "2026-08-31", "stance": "recommend", "quote": "just do `git rebase -i` interactive rebase at the end to squash them", "excerpt": "> In my company we use graphite and stacked PRs so it is highly encouraged to keep one commit per PR, so I am constantly ammending my commits. So this makes it even simpler for you. Then you don't have to care at all about keeping your commits clean (as in: you don't have to keep them organized enough to be able to reshuffle them into a nice set of multiple commits later on). Just commit whatever, and then just do `g", "context": "", "use_case": "squashing commits", "switched_from": "", "story": "Breaking Claude Code Opus 5 Auto Mode"}, {"id": 791820787, "item_id": 49488799, "url": "https://news.ycombinator.com/item?id=49488799", "by": "vpk11", "date": "2026-08-29", "stance": "neutral", "quote": "I use CLI tools for Git", "excerpt": "I use CLI tools for Git, Atlassian (ACLI), and Metabase, plus custom SigNoz shell scripts to drive API calls instead of an MCP server. This setup works very well at the moment for me.", "context": "", "use_case": "version control via CLI", "switched_from": "", "story": "Ask HN: Why do we need MCP?"}, {"id": 791813920, "item_id": 49488370, "url": "https://news.ycombinator.com/item?id=49488370", "by": "DanielHB", "date": "2026-08-29", "stance": "neutral", "quote": "Works well enough", "excerpt": "I use git diff and ctrl+click the file+linenumber which opens my IDE. Works well enough. I use this macro here when there are a lot of changes: gdf() { git diff '*'$1'*'; } gdf fileName (doesn't need full file name) gdf folderName (all files in a folder)", "context": "", "use_case": "reviewing code diffs", "switched_from": "", "story": "Our decision on Cursor following its acquisition by SpaceX"}, {"id": 790245072, "item_id": 49390317, "url": "https://news.ycombinator.com/item?id=49390317", "by": "MetaWhirledPeas", "date": "2026-08-21", "stance": "recommend", "quote": "For me this is what I use Git for, even if I have no intention of pushing to a remote repository.", "excerpt": "For me this is what I use Git for, even if I have no intention of pushing to a remote repository. So I suppose some of Git's functionality could be considered redundant if only the applications would be generous about saving history and deltas.", "context": "", "use_case": "local file history", "switched_from": "", "story": "Yes/No/Cancel causes Aspirin sales to soar"}, {"id": 790189232, "item_id": 49386827, "url": "https://news.ycombinator.com/item?id=49386827", "by": "mikewarot", "date": "2026-08-21", "stance": "neutral", "quote": "I used git to sync it with a usb thumb drive", "excerpt": "When I was making gears, there was an un-networked PC that I was given access to, to develop a program to track gear hobs. I used git to sync it with a usb thumb drive so I could keep a copy in sync at home. Edit: sadly it seems I've lost the source to that program 8( In the long ago, we used PKzip to archive our source code on 1.44 mb floppy disks. Before that, we didn't have hard drives, so we made copies of our 5 ", "context": "", "use_case": "syncing source via USB drive", "switched_from": "", "story": "Ask HN: How did you write code on restricted hardware?"}, {"id": 789854064, "item_id": 49365879, "url": "https://news.ycombinator.com/item?id=49365879", "by": "mikewarot", "date": "2026-08-19", "stance": "recommend", "quote": "git is still freaking magic.", "excerpt": "Having programmed back in the days when source control involved 1.44mb floppy disks with paper labels stating the version of the pkZipped source code and the date.... git is still freaking magic. We used to comment out the old version of code but leave it in the source as our sole undo strategy. git brings sanity to the world. We live in the future, it's glorious. 8)", "context": "programmer since the floppy-disk era", "use_case": "source control", "switched_from": "floppy-disk versioned source", "story": null}, {"id": 789677522, "item_id": 49354845, "url": "https://news.ycombinator.com/item?id=49354845", "by": "jm4", "date": "2026-08-18", "stance": "neutral", "quote": "If it can succeed there then it's battle proven for sure", "excerpt": "There's other stuff out there. You don't have to use it except when you're working with someone who does and there are other systems with some compatibility for that exact scenario. Git became popular because Linus Torvalds created it and it's used for the Linux kernel. If it can succeed there then it's battle proven for sure and that's why people pick it. Almost no one is working at that scale though so don't sweat ", "context": "", "use_case": "version control", "switched_from": "", "story": "Cursor launches Origin, GitHub alternative"}, {"id": 789407843, "item_id": 49337990, "url": "https://news.ycombinator.com/item?id=49337990", "by": "everybodyknows", "date": "2026-08-17", "stance": "neutral", "quote": "therefore: git, some hierarchical plain text format", "excerpt": "I set out likewise to write a highly structured book with FOSS, therefore: git, some hierarchical plain text format, and a visually rich editor. Markdown could not seem to meet the third point. For instance, progress-related comments that would be stripped from final output were essential, but Markdown's HTML-style comments are intolerably unergonomic, and editors know how to de-emphasize no other syntax. Ended up wi", "context": "", "use_case": "version control for book", "switched_from": "", "story": "How I Over-Engineered My Book"}, {"id": 789406096, "item_id": 49337881, "url": "https://news.ycombinator.com/item?id=49337881", "by": "hebetude", "date": "2026-08-17", "stance": "recommend", "quote": "I moved to self hosting git. Now it\u2019s always up, go figure!", "excerpt": "Git can be hosted over ssh or filesystem. I moved to self hosting git. Now it\u2019s always up, go figure!", "context": "", "use_case": "self-hosted repos", "switched_from": "GitHub", "story": "Cursor launches Origin, GitHub alternative"}, {"id": 789365248, "item_id": 49335328, "url": "https://news.ycombinator.com/item?id=49335328", "by": "myaccountonhn", "date": "2026-08-17", "stance": "recommend", "quote": "ssh server git --bare init myrepo.git", "excerpt": "It can be as brief as: ssh server git --bare init myrepo.git git clone server:myrepo.git", "context": "", "use_case": "self-hosting repositories over ssh", "switched_from": "", "story": "Ask HN: Alternatives to GitHub"}, {"id": 788779216, "item_id": 49298701, "url": "https://news.ycombinator.com/item?id=49298701", "by": "waldarbeiter", "date": "2026-08-14", "stance": "neutral", "quote": "I use --patch flag", "excerpt": "You're right, hunk is official git wording that I didn't know and I should know since I use --patch flag... It's just that I never heard a human (including online) reason about hunks. While at the same time (from my observation) people say things like code chunk, code snippet etc. a lot.", "context": "", "use_case": "staging changes with git add --patch", "switched_from": "", "story": "Why does Opus 5 feel worse to work with?"}, {"id": 785671600, "item_id": 49104475, "url": "https://news.ycombinator.com/item?id=49104475", "by": "gerdesj", "date": "2026-07-29", "stance": "recommend", "quote": "Why not go back to basics and start with git?  Just git.", "excerpt": "\"I think of GitHub as a collaboration tool.\" Well yes but git itself is the tool at the base of the pyramid you call GitHub and co. It seems you actively want git to look like all the other things you are used to and they are all walled gardens. GitHub takes git and basically turns it back into subversion and co. Instead of all that anarchic \"no repo is king\" long haired hippie nonsense, you want central control 8) I", "context": "", "use_case": "version control", "switched_from": "", "story": "GitHub is the wrong shape for this new world"}, {"id": 785412800, "item_id": 49088300, "url": "https://news.ycombinator.com/item?id=49088300", "by": "grepsedawk", "date": "2026-07-28", "stance": "neutral", "quote": "Agents just turned them from an occasional convenience into something I use every day.", "excerpt": "Yeah! Worktrees were already sitting there. Agents just turned them from an occasional convenience into something I use every day.", "context": "", "use_case": "git worktrees for agents", "switched_from": "", "story": "Setup Script Should Support Git Worktrees"}, {"id": 784866832, "item_id": 49054177, "url": "https://news.ycombinator.com/item?id=49054177", "by": "trescenzi", "date": "2026-07-25", "stance": "recommend", "quote": "Another git command I love using is `git add -p`.", "excerpt": "Another git command I love using is `git add -p`. I always want to commit in chunks as I go but sometimes I wait to long or realize later I could have broken it up. Being able to select only pieces of a file to add to a specific commit is so great. Editing the chunks manually can be a bit intimidating but since it only stages the change you can always restore the file and try again if the diff doesn't look right afte", "context": "", "use_case": "staging commits in chunks", "switched_from": "", "story": "Git rebase -I is not that scary"}, {"id": 784862240, "item_id": 49053890, "url": "https://news.ycombinator.com/item?id=49053890", "by": "jauntywundrkind", "date": "2026-07-25", "stance": "recommend", "quote": "imo every dev should work to get some competency with git rebase! it's an amazing tool.", "excerpt": "rebase interactive is so great, such a powerful tool. it's the one clear tool that i used all the time. moving to jj, it has lots of amazing tools starting with `jj edit` to go change the past safely & conveniently, with much less pain. but i miss the direct powerful data-driven experience of seeing the timeline in a text file, and picking what to do with it. sometimes. imo every dev should work to get some competenc", "context": "", "use_case": "version control", "switched_from": "", "story": "Git rebase -I is not that scary"}, {"id": 782528080, "item_id": 48908005, "url": "https://news.ycombinator.com/item?id=48908005", "by": "munksbeer", "date": "2026-07-14", "stance": "recommend", "quote": "I love git, it is by far the best version control system I've used in nearly 25+ years.", "excerpt": "Disclaimer: I love git, it is by far the best version control system I've used in nearly 25+ years. But, his point is objective, so he doesn't need to provide subjective proof to you. Do lots of people find git confusing? Yes. It is a very common view. Therefore, based only on observed evidence, we can pretty confidently say that git is confusing. Is it as confusing as something else, or as confusing as the reputatio", "context": "25+ years of version control experience", "use_case": "version control", "switched_from": "", "story": "The Git history command deserves more attention"}, {"id": 778910864, "item_id": 48681929, "url": "https://news.ycombinator.com/item?id=48681929", "by": "Helmut10001", "date": "2026-06-25", "stance": "recommend", "quote": "I am very happy with a simple git tracking approach that I use across Proxmoxes and VMs", "excerpt": "I get your point and this is likely also not what you mean, but I am very happy with a simple git tracking approach that I use across Proxmoxes and VMs [1]. [1]: https://du.nkel.dev/blog/2026-05-16_rootless_docker_virtiofs_proxmox/#git-based-configuration-tracking", "context": "", "use_case": "tracking config files", "switched_from": "", "story": "Migrating from Proxmox to NixOS and Incus"}, {"id": 777141025, "item_id": 48571314, "url": "https://news.ycombinator.com/item?id=48571314", "by": "adamnemecek", "date": "2026-06-17", "stance": "warn", "quote": "git is really not well suited for this.", "excerpt": "This looks really good. I have been using git to store some PDF (tens of GBs) and git is really not well suited for this.", "context": "", "use_case": "storing large PDFs", "switched_from": "", "story": "Epic Games announces Lore version control system"}, {"id": 768122176, "item_id": 48007636, "url": "https://news.ycombinator.com/item?id=48007636", "by": "gritzko", "date": "2026-05-04", "stance": "warn", "quote": "The most annoying thing about git is its jungle of commands.", "excerpt": "The most annoying thing about git is its jungle of commands. I had an idea of ordering all the turns and twists in some sort of \"periodic table of VCS commands\". Now I use it daily https://replicated.wiki/blog/partIII.html", "context": "", "use_case": "version control", "switched_from": "", "story": "From CVS to Git, thirty years of source control"}, {"id": 766904688, "item_id": 47931543, "url": "https://news.ycombinator.com/item?id=47931543", "by": "nananana9", "date": "2026-04-28", "stance": "recommend", "quote": "Git is industry standard, because for what it give you it's a remarkably robust and simple program to use.", "excerpt": "Git is industry standard, because for what it give you it's a remarkably robust and simple program to use. We're all vaguely aware that the internals are complex, but the UX is clean and usable enough that the complexity usually doesn't leak out. But the day this breaks down and I have to deal with bloom filters, packfiles, maintaining the git garbage collector or rerere cleanup, is the day I switch our codebase to a", "context": "", "use_case": "version control", "switched_from": "", "story": "Ted Nyman \u2013 High Performance Git"}]}