1.4 Manipulating Files and Staying in Sync
Tracking changes to your files over time is the whole reason for using a VCS. You make changes to the source code, rerun your unit tests to make sure your changes don’t have any side effects, and then commit those changes.
Committing a change adds a new revision to the repository and stores your log message explaining what the change did. This gives you a record to go back through if you ever need to figure out why a certain change was made or when a bug was introduced.
A DVCS such as Git requires that you share your changes with other developers in order for them to have access to them. This is done by pushing the changes to an upstream repository.
An upstream repository is a public repository ...