4 ms·
The problem with the existing terminology is that it isn't logical. git reset for example, does three separate things. Rebase is described as "Forward-port lo
by calpaterson 14y ago
The problem with the existing terminology is that it isn't logical. git reset for example, does three separate things. Rebase is described as "Forward-port local commits to the updated upstream head" - something which makes no sense if you don't know about git's internals.
- nhaehnle 14y agoThe thing about git is that the key concepts of its internals are sufficiently clean and sufficiently fundamental to distributed version control that they are both easy to understand and very useful to understand. So what you say isn't really true. I would improve it to say that the existing terminology doesn't appear logical until you have learned about those basics. This is not the fault of git: any system becomes incomprehensible if you approach it with concepts in your head that are incompatible with that system. A complete beginner may not want to start out by learning those internals, and that's okay. But at some point, it definitely becomes a worthy investment to take the mere hour or two that it takes to read through the relevant parts of the documentation.
- calpaterson 14y agoIt's nothing to do with being decentralised or not. There are decentralised version control systems with better command line interfaces. Some of them even predate git. Mercurial has a better interface. So does darcs.
- greghinch 14y agoStrongly disagree that Mercurial has a better interface. I've worked on projects in cvs, svn, git, and hg, and I have to say I found hg's interface nearly as confounding as cvs. Not wanting to argue which perspective is right, just that you can't make a broad sweeping statement that Mercurial has a better interface
- mjs 14y agoI agree with you that they're not logical, but unfortunately I think it's too late to fix now. All the documentation, stackoverflow questions and answers, and so forth assume you're using standard git commands and terminology. At least (in trying to match what the GitHub applications do) it's not trying to invent a completely new system. But I don't see this getting much traction unless GitHub adopts it and pushes it as their "official" command line client.