On Fri, Aug 28, 2015 at 3:10 PM, Alec Ten Harmsel <[email protected]> wrote: > On Fri, Aug 28, 2015 at 06:45:47PM +0000, Alan Mackenzie wrote: >> >> I don't want to have to understand the design. I just want to be a >> user. I've got enough things competing for limited mental capacity as >> it is. > > What? I don't think Rich means understanding all of the implementation > details, just high-level concepts like what a branch is, what a commit > is, and merging and rebasing. These topics - branching, merging, etc. - > are central to how a team works, so it is important to understand them > and how whatever VCS you're using deals with them. >
Well, I'd go a bit further. To really appreciate git you should understand git objects and their references, what a commit, tree, and blob are. Also, the whole copy-on-write concept and content-hashing concept. I used to think git looked really complicated until I sat through a one hour talk that focused mostly on the data model. Once you understand the data model, you understand everything. That doesn't take a lot of time. It does take a moderate amount of time spent learning the right things. They're not found in the manpages. I'm not disagreeing at all with many of the gripes about git. I still share most of them, but now I feel like I'm the one in control and the fact that git pull doesn't rebase by default is just an annoyance and not a source of arcane behavior. Like I said, beautiful design, horrible interface. -- Rich

