|
|
|
|
|
by stormbrew
4654 days ago
|
|
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 index. They are both fundamentally the same operation, but your intentions are different. Checkout, likewise, both changes HEAD's symbolic reference and changes the working copy to match the index or a commit. This makes it both a means of full tree changes and local reversion. And then there's rebase... I don't think these are huge issues, but I do think they're barriers and a source of common early issues with git for new users. |
|
[1] I assume this was originally done to make git seem more approachable to SVN or CVS users.