GitHub explains the basic concepts of GIT on its blog and does so remarkably accessibly
The article on the GitHub blog highlights an important aspect of commits in Git: they are snapshots, not just diffs. Traditionally, developers might focus on the differences between file versions to understand changes. However, this perspective can lead to confusion, particularly when managing the history of a project. Commits in Git are more complex and versatile objects that encapsulate full change information. This allows developers to recreate any state of the project at any time and restore previous versions effectively. Understanding that commits are snapshots provides a deeper insight into version management and a more efficient approach to navigating the version control system.