Where project history lives
A repository (or repo) holds a project’s files and their version history. It may include code, tests, settings, and documentation. Developers work in a local copy and share changes through a remote repository.
A commit records a set of changes in that history, along with who made them, when, and a message explaining why. Saving a file does not create a commit; the developer chooses which changes to record together.
More than clicking Save
Commits let teams compare earlier versions and understand why code changed. A useful commit groups one related change with a clear message. A local commit becomes visible to teammates after it is pushed to a shared repository.