Working Directory - The working directory is the top-level directory in a repository, in which the plain versions of files are available to read, edit and build.
Branch - Branches occur if lines of development diverge. The term "branch" may thus refer to a "diverged line of development". For Mercurial, a "line of development" is a linear sequence of consecutive changesets. Combining a line of development into an existing one is called merging.
Merging - A merge combines two separate changesets in a repository into a merge changeset that describes how they combine. Merging is the process of joining points on two branches into one, usually at their current heads.
Head - A head is a changeset with no child changesets. The tip is the most recently changed head. Other heads are recent pulls into a repository that have not yet been merged.
Fork - a project fork happens when developers take a copy of source code and start independent development on it, creating a distinct piece of software. Often a fork is used to try a new feature & see if it pans out. If it does, it can be merged with the main program later on by a Project Owner only.