More detailed information
Next major concept
"The management of changes to documents, computer programs, large web sites, and other collections of information."
Wikipedia, 3/12/2015
This process may involve locking and/or flagging a portion of the project to prevent teammates from creating conflicting edits while you work.
Depending on which source control system you use, this may involve addressing merge conflicts, reviewing the submitted changes to the project, etc.
Descriptive commit messages can be even more useful than commenting your code. Especially when they make specific references to the previous state of the project.
On good commit messages
Different teams will need to track different things within their projects. However, most projects will probably want:
Most modern source control systems take care of this automatically except when there's a...
At some point when you are working on project someone (possibly you) will edit a file someone else is working on at the same time and you will need to decide which version of the file is the version to accept into the project.
Branches are used to encapsulate different parts of a project and keep them separate for easy maintenance. For example: keeping separate feature branches and production branches.
Pretty much any time a developer would need to perform an operation their source control tool, they will want to consult the log to see the state of the project. Remember commit messages? This is why they're so important.
We are training students on git for collaboration projects with the Open Source Lab and to better prepare them for work life at companies that rely on git.