3 ms·
A mucher better explanation of git interals: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
by zibzab 5y ago
A mucher better explanation of git interals:
https://git-scm.com/book/en/v2/Git-Internals-Git-Objects https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
It is surprisingly simple and efficient. I am starting to think this Linus guy knows what he is doing.
- balefrost 5y agoI still very much recommend the Peepcode Git Internals book. https://github.com/pluralsight/git-internals-pdf/releases https://github.com/pluralsight/git-internals-pdf/releases
- kwertyoowiyop 5y agoHe offloaded the complexity to its users! :-) If the command and option names had just been sensible, it would be a lot easier to learn and use. Half the usability difficulty, maybe more, is just this.
- gjvc 5y agoComplexity is unavoidable in the long run, but must be engineered out in the short run.
- torstenvl 5y ago> If the command and option names had just been sensible Holy shit, yes. `git branch` in gitspeak really means `git branch list` in human-readable CLI But `git branch ${NAME}` does not mean `git branch list ${NAME}`, instead it means `git branch create ${NAME}` There is no `git branch switch ${NAME}` but instead it's `git checkout ${NAME}` There is no `git branch log` – that would be `git log`, whereas if you want what should be `git log` what you really want is `git log --all` Don't get me started on whether modified files are added, staged, or indexed...
- kwertyoowiyop 5y agoThey are added, staged, indexed, AND cached!