When a project is under source control, any file changes occur in a local working copy of the project. When you're ready to write or merge those changes to the repository, you initiate a commit.