- pack, to assist in efficiently accessing the contents of a pack.
-
-parent::
- A commit object contains a (possibly empty) list of the logical
- predecessor(s) in the line of development, i.e. its parents.
-
-pickaxe::
- The term pickaxe refers to an option to the diffcore routines
- that help select changes that add or delete a given text string.
- With the --pickaxe-all option, it can be used to view the
- full changeset that introduced or removed, say, a particular
- line of text. See gitlink:git-diff[1].
-
-plumbing::
- Cute name for core git.
-
-porcelain::
- Cute name for programs and program suites depending on core git,
- presenting a high level access to core git. Porcelains expose
- more of a SCM interface than the plumbing.
-
-pull::
- Pulling a branch means to fetch it and merge it.
-
-push::
- Pushing a branch means to get the branch's head ref from a remote
- repository, find out if it is an ancestor to the branch's local
- head ref is a direct, and in that case, putting all objects, which
- are reachable from the local head ref, and which are missing from
- the remote repository, into the remote object database, and updating
- the remote head ref. If the remote head is not an ancestor to the
- local head, the push fails.
-
-reachable::
- All of the ancestors of a given commit are said to be reachable from
- that commit. More generally, one object is reachable from another if
- we can reach the one from the other by a chain that follows tags to
- whatever they tag, commits to their parents or trees, and trees to the
- trees or blobs that they contain.
-
-rebase::
- To clean a branch by starting from the head of the main line of
- development ("master"), and reapply the (possibly cherry-picked)
- changes from that branch.
-
-ref::
- A 40-byte hex representation of a SHA1 or a name that denotes
- a particular object. These may be stored in `$GIT_DIR/refs/`.
-
-refspec::
- A refspec is used by fetch and push to describe the mapping
- between remote ref and local ref. They are combined with
- a colon in the format <src>:<dst>, preceded by an optional
- plus sign, +. For example:
- `git fetch $URL refs/heads/master:refs/heads/origin`
- means "grab the master branch head from the $URL and store
- it as my origin branch head".
- And `git push $URL refs/heads/master:refs/heads/to-upstream`
- means "publish my master branch head as to-upstream branch
- at $URL". See also gitlink:git-push[1]
-
-repository::
- A collection of refs together with an object database containing
- all objects, which are reachable from the refs, possibly accompanied
- by meta data from one or more porcelains. A repository can
- share an object database with other repositories.
-
-resolve::
- The action of fixing up manually what a failed automatic merge
- left behind.
-
-revision::
- A particular state of files and directories which was stored in
- the object database. It is referenced by a commit object.
-
-rewind::
- To throw away part of the development, i.e. to assign the head to
- an earlier revision.
-
-SCM::
+ <<def_pack,pack>>, to assist in efficiently accessing the contents of a
+ <<def_pack,pack>>.
+
+[[def_parent]]parent::
+ A <<def_commit_object,commit object>> contains a (possibly empty) list
+ of the logical predecessor(s) in the line of development, i.e. its
+ parents.
+
+[[def_pickaxe]]pickaxe::
+ The term <<def_pickaxe,pickaxe>> refers to an option to the diffcore
+ routines that help select changes that add or delete a given text
+ string. With the --pickaxe-all option, it can be used to view the full
+ <<def_changeset,changeset>> that introduced or removed, say, a
+ particular line of text. See gitlink:git-diff[1].
+
+[[def_plumbing]]plumbing::
+ Cute name for <<def_core_git,core git>>.
+
+[[def_porcelain]]porcelain::
+ Cute name for programs and program suites depending on
+ <<def_core_git,core git>>, presenting a high level access to
+ <<def_core_git,core git>>. Porcelains expose more of a <<def_SCM,SCM>>
+ interface than the <<def_plumbing,plumbing>>.
+
+[[def_pull]]pull::
+ Pulling a <<def_branch,branch>> means to <<def_fetch,fetch>> it and
+ <<def_merge,merge>> it.
+
+[[def_push]]push::
+ Pushing a <<def_branch,branch>> means to get the <<def_branch,branch>>'s
+ <<def_head_ref,head ref>> from a remote <<def_repository,repository>>,
+ find out if it is an ancestor to the <<def_branch,branch>>'s local
+ <<def_head_ref,head ref>> is a direct, and in that case, putting all
+ objects, which are <<def_reachable,reachable>> from the local
+ <<def_head_ref,head ref>>, and which are missing from the remote
+ <<def_repository,repository>>, into the remote
+ <<def_object_database,object database>>, and updating the remote
+ <<def_head_ref,head ref>>. If the remote <<def_head,head>> is not an
+ ancestor to the local <<def_head,head>>, the <<def_push,push>> fails.
+
+[[def_reachable]]reachable::
+ All of the ancestors of a given <<def_commit,commit>> are said to be
+ <<def_reachable,reachable>> from that <<def_commit,commit>>. More
+ generally, one <<def_object,object>> is <<def_reachable,reachable>> from
+ another if we can reach the one from the other by a <<def_chain,chain>>
+ that follows tags to whatever they <<def_tag,tag>>, commits to their
+ parents or trees, and trees to the trees or blobs that they contain.
+
+[[def_rebase]]rebase::
+ To <<def_clean,clean>> a <<def_branch,branch>> by starting from the
+ <<def_head,head>> of the main line of development
+ ("<<def_master,master>>"), and reapply the (possibly cherry-picked)
+ changes from that <<def_branch,branch>>.
+
+[[def_ref]]ref::
+ A 40-byte hex representation of a <<def_SHA1,SHA1>> or a name that
+ denotes a particular <<def_object,object>>. These may be stored in
+ `$GIT_DIR/refs/`.
+
+[[def_refspec]]refspec::
+ A <<def_refspec,refspec>> is used by <<def_fetch,fetch>> and
+ <<def_push,push>> to describe the mapping between remote <<def_ref,ref>>
+ and local <<def_ref,ref>>. They are combined with a colon in the format
+ <src>:<dst>, preceded by an optional plus sign, +. For example: `git
+ <<def_fetch,fetch>> $URL
+ refs/heads/<<def_master,master>>:refs/heads/<<def_origin,origin>>` means
+ "grab the <<def_master,master>> <<def_branch,branch>> <<def_head,head>>
+ from the $URL and store it as my <<def_origin,origin>>
+ <<def_branch,branch>> <<def_head,head>>". And `git <<def_push,push>>
+ $URL refs/heads/<<def_master,master>>:refs/heads/to-upstream` means
+ "publish my <<def_master,master>> <<def_branch,branch>>
+ <<def_head,head>> as to-upstream <<def_branch,branch>> at $URL". See
+ also gitlink:git-push[1]
+
+[[def_repository]]repository::
+ A collection of refs together with an <<def_object_database,object
+ database>> containing all objects, which are <<def_reachable,reachable>>
+ from the refs, possibly accompanied by meta data from one or more
+ porcelains. A <<def_repository,repository>> can share an
+ <<def_object_database,object database>> with other repositories.
+
+[[def_resolve]]resolve::
+ The action of fixing up manually what a failed automatic
+ <<def_merge,merge>> left behind.
+
+[[def_revision]]revision::
+ A particular state of files and directories which was stored in the
+ <<def_object_database,object database>>. It is referenced by a
+ <<def_commit_object,commit object>>.
+
+[[def_rewind]]rewind::
+ To throw away part of the development, i.e. to assign the
+ <<def_head,head>> to an earlier <<def_revision,revision>>.
+
+[[def_SCM]]SCM::