Foundations of Git