3 ms·
Nitpick: It's just Git, it's not an acronym. I agree git has a more complex interface - I think I've read it described as "not quite user-hostile, but only exp
by jackweirdy 12y ago
Nitpick: It's just Git, it's not an acronym.
I agree git has a more complex interface - I think I've read it described as "not quite user-hostile, but only expert-friendly", which I think fits.
That said, I think the model of how commits work is far more intuitive than anything else I've come across. A commit is just a diff and a pointer to the commit that came before it, and a branch is just a pointer to a particular commit.
- blktiger 12y agoTechnically, a commit is a _snapshot_, not a diff.
- LukeShu 12y agoNitpick: A commit is not a diff, it is the entire tree. Any diffs you see are computed, not stored. You can export a commit as a diff+pointer-to-prev-commit, but when git imports it, it gets turned back into a full tree.
- jackweirdy 12y agoThat's true. I simplified for the sake of not delving too far into the details, because it makes sense at the smaller level. It's also true that a commit isn't always just one pointer to the commit that came before it, in a merge there are two pointers, from commit_head and merge_head