4 ms·
I'll be honest -- that was hard to understand. I don't know the low-level plumbing of git very well, which is why I made a higher level tool like this. Do you
by xxbondsxx 14y ago
I'll be honest -- that was hard to understand. I don't know the low-level plumbing of git very well, which is why I made a higher level tool like this.
Do you think it's important for beginners to understand all these subtleties? I think I could maybe eventually introduce them, but for the first level on the first screen, I don't think throwing a bunch of concepts at them will help with learning. Feel free to re-open the task if you disagree
- Cogito 14y agoI'll admit that I don't know what your knowledge is, so my explanation might have been directed at the wrong level. I am drafting a pull request that rewrites this for you, hopefully that will be easier to understand! I don't think that you need to understand all the plumbing, however it is important to understand how the index works, and that git stores the entire snapshot. The way it currently appears makes it seem like every time you switch branches git has to figure out the end state based on deltas, which is not true. Git has fast branch switching precisely because it stores the snapshot in its entirety. [EDIT] Here is what I wrote if anyone is interested: http://gist.io/4969804 http://gist.io/4969804
- xnxn 14y agoThanks for explaining this. Now I understand what the index 1ef56e5..2c756d0 in a diff refers to. I'm now poking around in the object store with `git cat-file -p <hash>` and it's very enlightening.