4 ms·
You seem to be mixing "unpleasant to use early on" with git as it is today in order to prove your point. And to be fair your point is entirely opinion based a
by ramblerman 14y ago
You seem to be mixing "unpleasant to use early on" with git as it is today in order to prove your point.
And to be fair your point is entirely opinion based anyways. You don't like git (fair enough), but you might be getting bashed because it is a lot of people's tool of choice.
Personally I absolutely love Git.
- envex 14y agoI'm going to second this, I love using git.
- calpaterson 14y agoI didn't use git early on, but it's pretty unpleasant to use today as well. It's fine if you learn the right incantations but it breaks almost every unix rule in the book. Literally: http://www.catb.org/esr/writings/taoup/html/ch01s06.html http://www.catb.org/esr/writings/taoup/html/ch01s06.html There's only a few guidelines there that git obeys. The most obvious one it obeys is "separation".
- _ikke_ 14y agoMost tool require you to learn an interface to operate, and not the internals. Git is quite the opposite. If you are learning a set of 'incantations', git will always seem hard to use. But if you take some time to learn how git works on the inside (which is really not that hard), it gets much easier to understand why and how you need to use a certain command. Some argue that this is why git is bad, but I'd argue that this in the end is a good thing, because it gives you so much more power. Learning how to use git is an investment, bit in my opinion an investment worthwhile.
- dfc 14y agoWhich rules do you think it breaks?
- qznc 14y agoReading through the list of unix rules you linked, I find git reasonably obeys them. For example "Clarity is better than cleverness": Git provides a clear internal structure (Blob DAG). It does not try to provide clever merge algorithms, since "Buying a small increase in performance with a large increase in the complexity and obscurity of your technique is a bad trade". Or another example "Design programs to be connected with other programs". In contrast to Mercurial, many git commands are separate programs and it is trivial to implement your own in any language. Arguably git violates "In interface design, always do the least surprising thing", since it does not try to provide a comfy start for svn exiles.
- nine_k 14y agoFor SVN exiles, there-s git-svn http://www.kernel.org/pub/software/scm/git/docs/git-svn.html http://www.kernel.org/pub/software/scm/git/docs/git-svn.html
- Evbn 14y agoGit has an annoying feature where commands (like 'reset') will do completely different only vaguely relayed things based on flags or arguments, instead of having different commands.