X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fglossary-content.txt;h=3595b586bc35d865a08ab538a1908cb2abe8e1a8;hb=ced7469f0700216a05b9ca5b58199f3d761a64e5;hp=572374f7a6ff17dd40ad687a2fda24d53f7d730b;hpb=77f143bf3e218857ec8e5244d7e862e8e0c1a041;p=git.git diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt index 572374f7a..3595b586b 100644 --- a/Documentation/glossary-content.txt +++ b/Documentation/glossary-content.txt @@ -124,14 +124,14 @@ to point at the new commit. An evil merge is a <> that introduces changes that do not appear in any <>. -[[def_fast_forward]]fast forward:: +[[def_fast_forward]]fast-forward:: A fast-forward is a special type of <> where you have a <> and you are "merging" another <>'s changes that happen to be a descendant of what you have. In such these cases, you do not make a new <> <> but instead just update to his revision. This will happen frequently on a - <> of a remote + <> of a remote <>. [[def_fetch]]fetch:: @@ -161,8 +161,8 @@ to point at the new commit. [[def_head]]head:: A <> to the <> at the tip of a - <>. Heads are stored in - `$GIT_DIR/refs/heads/`, except when using packed refs. (See + <>. Heads are stored in a file in + `$GIT_DIR/refs/heads/` directory, except when using packed refs. (See linkgit:git-pack-refs[1].) [[def_HEAD]]HEAD:: @@ -170,8 +170,8 @@ to point at the new commit. working tree>> is normally derived from the state of the tree referred to by HEAD. HEAD is a reference to one of the <> in your repository, except when using a - <>, in which case it may - reference an arbitrary commit. + <>, in which case it directly + references an arbitrary commit. [[def_head_ref]]head ref:: A synonym for <>. @@ -220,7 +220,7 @@ to point at the new commit. conflict, manual intervention may be required to complete the merge. + -As a noun: unless it is a <>, a +As a noun: unless it is a <>, a successful merge results in the creation of a new <> representing the result of the merge, and having as <> the tips of the merged <>. @@ -260,7 +260,7 @@ This commit is referred to as a "merge commit", or sometimes just a The default upstream <>. Most projects have at least one upstream project which they track. By default 'origin' is used for that purpose. New upstream updates - will be fetched into remote <> named + will be fetched into remote <> named origin/name-of-upstream-branch, which you can see using `git branch -r`. @@ -273,6 +273,61 @@ This commit is referred to as a "merge commit", or sometimes just a <>, to assist in efficiently accessing the contents of a pack. +[[def_pathspec]]pathspec:: + Pattern used to specify paths. ++ +Pathspecs are used on the command line of "git ls-files", "git +ls-tree", "git add", "git grep", "git diff", "git checkout", +and many other commands to +limit the scope of operations to some subset of the tree or +worktree. See the documentation of each command for whether +paths are relative to the current directory or toplevel. The +pathspec syntax is as follows: + +* any path matches itself +* the pathspec up to the last slash represents a + directory prefix. The scope of that pathspec is + limited to that subtree. +* the rest of the pathspec is a pattern for the remainder + of the pathname. Paths relative to the directory + prefix will be matched against that pattern using fnmatch(3); + in particular, '*' and '?' _can_ match directory separators. ++ +For example, Documentation/*.jpg will match all .jpg files +in the Documentation subtree, +including Documentation/chapter_1/figure_1.jpg. + ++ +A pathspec that begins with a colon `:` has special meaning. In the +short form, the leading colon `:` is followed by zero or more "magic +signature" letters (which optionally is terminated by another colon `:`), +and the remainder is the pattern to match against the path. The optional +colon that terminates the "magic signature" can be omitted if the pattern +begins with a character that cannot be a "magic signature" and is not a +colon. ++ +In the long form, the leading colon `:` is followed by a open +parenthesis `(`, a comma-separated list of zero or more "magic words", +and a close parentheses `)`, and the remainder is the pattern to match +against the path. ++ +The "magic signature" consists of an ASCII symbol that is not +alphanumeric. ++ +-- +top `/`;; + The magic word `top` (mnemonic: `/`) makes the pattern match + from the root of the working tree, even when you are running + the command from inside a subdirectory. +-- ++ +Currently only the slash `/` is recognized as the "magic signature", +but it is envisioned that we will support more types of magic in later +versions of git. ++ +A pathspec with only a colon means "there is no pathspec". This form +should not be combined with other pathspec. + [[def_parent]]parent:: A <> contains a (possibly empty) list of the logical predecessor(s) in the line of development, i.e. its @@ -327,8 +382,9 @@ This commit is referred to as a "merge commit", or sometimes just a [[def_ref]]ref:: A 40-byte hex representation of a <> or a name that - denotes a particular <>. These may be stored in - `$GIT_DIR/refs/`. + denotes a particular <>. They may be stored in + a file under `$GIT_DIR/refs/` directory, or + in the `$GIT_DIR/packed-refs` file. [[def_reflog]]reflog:: A reflog shows the local "history" of a ref. In other words, @@ -349,6 +405,14 @@ This commit is referred to as a "merge commit", or sometimes just a master branch head as to-upstream branch at $URL". See also linkgit:git-push[1]. +[[def_remote_tracking_branch]]remote-tracking branch:: + A regular git <> that is used to follow changes from + another <>. A remote-tracking + branch should not contain direct modifications or have local commits + made to it. A remote-tracking branch can usually be + identified as the right-hand-side <> in a Pull: + <>. + [[def_repository]]repository:: A collection of <> together with an <> containing all objects @@ -396,14 +460,14 @@ This commit is referred to as a "merge commit", or sometimes just a command. [[def_tag]]tag:: - A <> pointing to a <> or - <>. In contrast to a <>, - a tag is not changed by a <>. Tags (not - <>) are stored in `$GIT_DIR/refs/tags/`. A - git tag has nothing to do with a Lisp tag (which would be - called an <> in git's context). A - tag is most typically used to mark a particular point in the - commit ancestry <>. + A <> under `refs/tags/` namespace that points to an + object of an arbitrary type (typically a tag points to either a + <> or a <>). + In contrast to a <>, a tag is not updated by + the `commit` command. A git tag has nothing to do with a Lisp + tag (which would be called an <> + in git's context). A tag is most typically used to mark a particular + point in the commit ancestry <>. [[def_tag_object]]tag object:: An <> containing a <> pointing to @@ -418,14 +482,6 @@ This commit is referred to as a "merge commit", or sometimes just a that each contain very well defined concepts or small incremental yet related changes. -[[def_tracking_branch]]tracking branch:: - A regular git <> that is used to follow changes from - another <>. A tracking - branch should not contain direct modifications or have local commits - made to it. A tracking branch can usually be - identified as the right-hand-side <> in a Pull: - <>. - [[def_tree]]tree:: Either a <>, or a <> together with the dependent <> and tree objects @@ -456,6 +512,6 @@ This commit is referred to as a "merge commit", or sometimes just a of 'A' is 'origin/B' sometimes we say "'A' is tracking 'origin/B'". [[def_working_tree]]working tree:: - The tree of actual checked out files. The working tree is - normally equal to the <> plus any local changes - that you have made but not yet committed. + The tree of actual checked out files. The working tree normally + contains the contents of the <> commit's tree, + plus any local changes that you have made but not yet committed.