Skip to Content


Common terms you will encounter in discussions of revision-control systems include:

The (possibly remote) storage location for your files and their changes.
Working Copy
A local copy of a project that has been checked out of the repository so that changes can be made.
Checking Out
The process of obtaining a working copy on which you will make changes.
Checking In
The process of uploading your changes (with comments) to the repository.
Creating a copy of a particular revision of your project without the revision-control system's metadata. Generally used when producing a release of a code or project where you want to make the code available to others without making them check it out of your repository.
Copies of some or all of the files in your project. Branches can be used for development (such as when one or more team members are working on code that would disrupt the functionality of the trunk) or can be created when a release is made (so that bug fixes and minor improvements can be made to released code without having to bring the whole codebase up to the most recent version.
The “main branch” of your project. May be where development takes place, or may reflect the most recently released version of your code.
Virtual labels created in the repository that allow you to refer to a particular point in development without having to remember actual revision numbers. (Especially useful for revision-control systems that use different revision numbers for each file.)
Revision Numbers
Numbers that indicate where in a tree a particular file or set of files were last modified and checked in. Some revision-control systems give each file a separate revision number, some use a single number across an entire project, and some use the same number for all files in all projects in a repository.
Sets of related files that are grouped together for convenience. Files in a project may depend on one another or may be independent, depending on the type of project, what language the files are written in, and what development process you follow. Some systems have multiple projects in a single repository; others use separate repositories for each project.