Clone
A copy of the canonical, on its own branch, in its own directory beside it.
A copy of the canonical, on its own branch, in its own directory beside it.
It is a real repository. It holds its own history, its own index and its own reflog, so two clones never contend for one index and a rebase in one is invisible to the other. Its submodules resolve to git directories inside it, at every depth.
It is also a real copy, which is the part a worktree cannot offer: whatever the canonical had that git does not track came along, so the tests run before you have installed anything.
Canonical
The checkout that clones are made from. It is an ordinary git checkout that nobody works in: it sits on the line you branch from, its dependencies are installed, its submodules are initialised, and its working tree is clean.
Address
Everything inside a checkout that records where the checkout lives.