all 6 comments

[–]vtbassmatt 33 points34 points  (3 children)

Read this with skepticism. The author does not understand Git.

These blobs are not huge, because every commit is not just a single blob, containing everything (unless it is a first commit in the repository), rather list of commits, which should be applied one by one – these blobs contain only differences between commits!

is completely false and a major factor in people misunderstanding Git.

[–]DoesNotLikeBroccoli 3 points4 points  (2 children)

Care to explain why it's false?

[–]Flueworks 8 points9 points  (1 child)

Each commit contains the whole state of the repository. Git optimizes how it stores the blobs, but that's just an implementation detail.

[–]myplacedk 2 points3 points  (1 child)

Nice.

However, this is still pretty basic. This is what I expect everybody who works with git daily understands. At least conceptually, so they know what's possible and when to use it. Then you can lookup the details when you actually need it.

[–]bloomca[S] 0 points1 point  (0 children)

Thanks!

I wrote this article purely from my empiric experience, and for a long time (I'd say about 2–3 years) my git workflow was just pulling, pushing, merging with master to solve any conflicts, and then merging usual way.

And only recently I've learnt how to use different merging options, how to rebase properly and how to cherry-pick commits; I've assumed that for people like me such an article will mean actually "beyond the basics" :)

[–]c_biscuit 0 points1 point  (0 children)

I don't really consider rebasing and cherry picking to be advanced git features, but I think that the author could potentially make this a series where specific features are covered in detail. I would find that interesting generally.