3 ms·
I think the moment that Git really clicked for me was realizing the following 3 tenets: 1. Commits are a SHA that points to a given state of the codebase _and_
by tomphoolery 5y ago
I think the moment that Git really clicked for me was realizing the following 3 tenets:
1. Commits are a SHA that points to a given state of the codebase _and_ its parent. The latter part is very important for the next 2 tenets...
2. Branches are just named commits but you can commit more stuff on top of them to change the position of the named commit.
3. Tags are just branches that don't have that additional mutability.
At the end of the day, branching and tagging is just about naming things. Because Git's higher-level primitive is a commit, and a commit knows who its parent is, all of this stuff can "just work" without much effort or overhead.
Now some advanced Git folks will probably comment that this is an over-simplified understanding of how this software works, but keep in mind this is intended for people who have never used Git or indeed a version control system of any kind in their lives. You need to have a basic understanding of its concepts before you can get into the nitty-gritty between the "plumbing" and "porcelain".
- chociej 5y agoI don't think it's oversimplified at all. The concepts are pretty simple, just rarely explained nicely.
- smusamashah 5y agoMore simply, its a linked list where we add on tail instead of head.