How and why Git Works