I never saw anything as stupid as Git (and GitHub)
I didn’t lose anything because of the stupidity of Git—to which GitHub adds its own limitations—except for my temper. Too many times. This could have been avoidable if I were a person that never ever makes even the tiniest mistake or if Git were less retarded by design.
Each time when Git refuses to push something because I inadvertently modified the README.md in the web interface of GitHub, and then I forgot to pull, I manage to fix it. Unless it then wants to push everything one more time, despite already having done so! And then it would simply refuse to acknowledge that I just changed a couple of files locally. I ask in all such cases a chatbot, and I try the proposed solutions—which make sense, but don’t always work. So I might have to use again the web interface of GitHub! This time, followed by a pull and rebase.
You might object that I don’t have enough experience with Git, and you wouldn’t be wrong. You might also object that there are so many extremely complex scenarios that I have never encountered yet and for which Git’s stupidity is a blessing because it prevents the loss of data, and you would probably be right as well.
But there are people who have worked with Git for years and still do not understand it well enough. There are books on Git that leave people puzzled. Git is something that nobody will ever fully understand. It’s completely broken by design, yet an entire planet is stuck with it.
I have absolutely never seen a crucial piece of software that’s so idiotically designed. Linus Torvalds brought an entire planet to the brink of collapse because he designed Git the way he did. He also designed the Linux kernel equally irresponsibly.
An eternity ago, I had zero issues with VSS (Visual Source Safe). I never used CVS (Concurrent Versions System), but I did use SVN (Apache Subversion) with TortoiseSVN with zero issues. I never used Mercurial and TortoiseHg, but I just listed four version control systems that worked. But no, Linus Torvalds couldn’t use anything that existed! He wanted to create something “with better support for concurrency”—so he screwed an entire planet with his shitty Git! Because stupid lemmings followed him and adopted Git. And now even GitHub is practically unavoidable. How ironic: Linus Torvalds and Microsoft.
Maybe we should ask a chatbot to create a new version control system. It’s impossible to create anything worse than Git!
For fuck’s sake! One more time: we owe this shit to Linus Torvalds! Of all people, it had to be him. Unbelievable. And then I’m supposed to trust the Linux kernel, right?


I didn’t approve a short comment that recommended that I read the Pro Git book (I guess; it said “the git book”). Of course, there’s also an official cheatsheet.
This is completely bollocks. I have a very simple workflow, but accidentally I stray from it. The real issue is that Git forces excessively complex workflows for more complex scenarios.
That Git is confusingly complex is a fact supported by the mere existence of such YouTube videos:
● LearnThatStack: Git Will Finally Make Sense After This
● ByteByteGo: How Git Works: Explained in 4 Minutes
● ByteByteGo: Git MERGE vs REBASE: Everything You Need to Know
● Philomatics: Never* use git pull
● Philomatics: git rebase – Why, When & How to fix conflicts
● Philomatics: Never fear merge conflicts again – git merge/pull tutorial
● The Modern Coder: Git MERGE and REBASE: The Definitive Guide
No version control software should require you to read a book and then also need to watch a bunch of videos to “truly understand”
pull,rebase, andmerge! When I was using VSS, I never needed to read anything! Everything was obvious. TortoiseCVS? There was no book about it, AFAIK.Git sucks. It sucks more than, say, Win11, because there isn’t any real alternative to it. It’s a de facto monopoly. Because sheeple.
Never in my years on this earth have I seen a more carefully crafted ragebait. 10/10.
Why is your GitHub moniker “xiaoxiae”?
– Xiao Xiao is not “xiao xiae”!
– xiǎoxiě (小写) is “lowercase”: did you use a different romanization by accident, or for symmetry?
– xiǎoxiáé (小侠鹅) could be interpreted as “little hero goose” 🙂
OTOH, I’m pretty sure you love not only Git but also GitHub.
If I were 30 years younger, I would have been interested in your GPU Computing notes. But I’m not, and we have different tastes. I will never understand fantasy (as in “high fantasy” akin to “young adult fiction,” not “fantasy sci-fi”) or climbing on walls.
A chess engine in Rust? Apparently, it’s not bad at all! But I still can’t be interested in learning stuff from reading about how it was made.