Live data from Hacker News

Git concepts simplified

gitolite.com

141–142 of 142 posts

Re: Git concepts simplified

#141
post #79

Earlier quoted context omitted.

out of curiosity could you enumerate some of the poor design choices in git?

I'm a huge fan of git (but became one the hard way) and I think that most of the poor design decisions are in the command layer. Largely the tendency for the same command to do several things that, to the user, are wildly different (often because they map to the same fundamental operation on the DAG). As the most simple example, git add both adds a new file to the index and adds changes to an existing file to the ind…

I agree the CLI can be a pain, but it's slowly improving. It's in a better state now than it was a few years ago. For example

    git push origin :topic-branch
can now be replaced with

    git push origin --delete topic-branch
This still has issues, there's now multiple ways to do the same thing. There's also different commands (git push vs git branch) for the same action, deleting a branch (regardless if it is remote or local).

Re: Git concepts simplified

#142

Earlier quoted context omitted.

That's not the strongest argument. If you want to get anything done at a reasonable level, checkers is hard (American checkers is easier than international checkers, but neither is really simple). Git may well be similar: relatively simple rules, yet hard to use proficiently.

Checkers is a very easy game, but with those incredibly simple rules you can get complex behavior. For an even more extreme example, you can look at Go. Git is similar, except there is no competition/competitor there to befuddle you. From the simple components/rules (you've got what, you can perform incredibly complex operations that are infeasible with lesser VCSs. Simple rules/components, complex gameplay/capabilit…

> Git is similar, except there is no competition/competitor there to befuddle you.

You haven't met some of the developers on my team.

Post reply on HN