Contents
Terminology
Agreeing on a common terminology is surprisingly difficult, primarily because each VCS uses these terms when describing subtly different tasks, objects, and concepts. Where possible, we try to provide a generic definition of the concepts, but you should consult the individual system's glossaries for details. Here are some basic references for terminology, from some of the standard web-based references on each VCS. You can also refer to glossaries for each DVCS:
Subversion: http://svnbook.red-bean.com/en/1.5/svn.basic.html
Mercurial: http://www.selenic.com/mercurial/wiki/index.cgi/UnderstandingMercurial
branch
- A line of development; a collection of revisions, ordered by time.
checkout/working copy/working tree
- A tree of code the developer can edit, linked to a branch.
index
- A "staging area" where a revision is built (unique to git).
repository
- A collection of revisions, organized into branches.
clone
- A complete copy of a branch or repository.
commit
- To record a revision in a repository.
merge
- Applying all the changes and history from one branch/repository to another.
