←back to thread

1062 points mixto | 7 comments | | HN request time: 0.001s | source | bottom
Show context
dijit ◴[] No.42941702[source]
Well, what's terrifying is that the guide is so long.

I am aware that beej's guides are typically quite comprehensive, but the vast nuances of git truly eluded me until this.

I guess Jujitsu would wind up being a much slimmer guide, or at least one that would be discoverable largely by humans?

replies(3): >>42942124 #>>42942687 #>>42943687 #
vvpan ◴[] No.42942124[source]
It tells me that git is the wrong tool for the majority of people but it just happened to stick.
replies(3): >>42942293 #>>42942401 #>>42952448 #
stephen_g ◴[] No.42942293[source]
I think it's probably the opposite, Git has amassed a lot of complexity because it's been adapted to being a tool that is able to can satisfy the majority of requirements.

I've never found that I need to touch most of it in the 15 or so years I've been using it, but it's there if your project needs it.

replies(2): >>42944590 #>>42945028 #
1. crabbone ◴[] No.42945028[source]
Nope. It was initially built for the use-case most people will never have: multiple remotes that work on a project with multiple similar products each with its own set of differences from the others, with emphasis and dependency on Unix tools and text-only emails.

Most Git users will never have more than one remote per project, and so will only have a single product built from their source code. Probably wouldn't even know how to configure their mua to send text-only emails, in case that option is even available to them, and would struggle with basic Unix utilities like Vim and diff.

I don't know why Git won the VCS contest. But, I'm afraid, as with many such wins, there wasn't a clear rational reason why it should have won. It didn't make some of the obvious bad decisions which would disqualify it, but so did a few others. My take on this is that communication tools naturally gravitate towards monopoly, so, if one starts to win even slightly, the win will become a landslide win.

replies(3): >>42945780 #>>42948214 #>>42949213 #
2. maccard ◴[] No.42945780[source]
> I don't know why Git won the VCS contest

Because GitHub offered free git hosting, and heroku came along and offered free hosting that was pretty much point and go.

Combined, you all of a sudden went from needing a sysadmin and two servers (this was pre containers), and the sysadmjn skills to operate SVN and your web app, to “it’s now free and it auto deploys when I commit”.

replies(1): >>42949173 #
3. stcroixx ◴[] No.42948214[source]
Spot on. I think it won because of who created it. I love linux and have been a daily user for like 25 years, but that doesn't mean I'm going to have a positive bias towards new tools or projects Linus makes like git. I think had some no name developed this it would have been laughed at by the majority of devs because, as you say, it's target use case is very specific and rare making it the wrong tool for most of us. Might have the worst interface I've ever seen. Before using it, I spent close to zero time thinking about version control and didn't need to understand anything about it's internals and had zero problems in the software dev lifecycle. Now, people are proud to waste time learning implementation details of their version control tool?
4. crabbone ◴[] No.42949173[source]
Bitbucket offered free Mercurial hosting before GitHub even existed, if memory serves. And it's all but dead.

And, I don't know if GitHub succeeded because of Git or the other way around.

replies(2): >>42950914 #>>42955314 #
5. chuckadams ◴[] No.42949213[source]
> I don't know why Git won the VCS contest.

Because Mercurial was dreadfully slow at the time for anything as big as the Linux kernel tree. Linus also put his thumb on the scale because he was the author and still the primary maintainer of git at the time, so he could bend it to whatever shape he wanted without needing to ask anyone else. Not really a knock on Linus, I'd do the same in his position, but it does explain much of its advantage.

6. maccard ◴[] No.42950914{3}[source]
This war was over around about the time I started, but my take on it is that it's all a bit intermixed and Mercurial lost because bitbucket caved and did git hosting [2], but git won beacuse of github and heroku [1][2]

[1] https://www.koyeb.com/blog/herokus-free-tier-legacy-the-shou... [2] https://blog.gitbutler.com/why-github-actually-won/

7. pseudalopex ◴[] No.42955314{3}[source]
Bitbucket and GitHub started around the same time. GitHub executed better. And the Ruby community adopted GitHub early. Comparisons around 2010 said GitHub's UX and network effects were top reasons to choose Git. Mercurial's UX and much better Windows support were top reasons to choose Mercurial.