3 ms·
> I think the underlying model is fantastic The well-documented underlying model used to confuse me a lot - especially for operations like merging, rebasing (s
by sreevisakh 4y ago
> I think the underlying model is fantastic
The well-documented underlying model used to confuse me a lot - especially for operations like merging, rebasing (squash, reorder, ...), cherry picking, etc. They started to make sense only when I realized that git uses diffs/patches to propagate changes between unrelated commits. While the on-disk format is purely snapshot-based, the tool itself is a hybrid. As far as I can tell, this trips up a lot of others too.
- epistasis 4y agoAgreed, the first step is realizing that the data structure is a graph of snap shots. And then a lot of the primary operations are about calculating deltas between arbitrary commits, and the applying those deltas elsewhere.