The biggest misconception I find (which I couldn’t see listed here) is that a the history is a list of changes. Instead commits are snapshots of the entire repo, not just changes.
That's a good point - git is unlike SVN in that way. SVN stores diffs (which is why it can take a long time to calculate the current state when your repo history gets really long), and git stores entire files. I always had thought that git stored diffs as well (since you "commit" just the change, right?) - but nope!
I didn't include it because I find that, in practice, it doesn't matter much whether you think of the commit log as being diffs or snapshots - but I could be wrong... have you found cases where it matters a lot which way you think of it? Thanks!
It does when people get comfortable with cherry picking.
Ah, good point
You have a very helpful article. I would definitely not expect someone new to git to start cherry picking.
Thanks! Yeah; maybe on a more advanced course sometime :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.