Ignore:
Timestamp:
Jun 23, 2014, 9:45:51 PM (11 years ago)
Author:
dmik
Message:

git: Merge version 2.0.0 from vendor to dmik branch.

Location:
git/branches/dmik
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • git/branches/dmik

  • TabularUnified git/branches/dmik/Documentation/glossary-content.txt

    r347 r782  
    88        named <<def_directory,directory>> with a `.git` suffix that does not
    99        have a locally checked-out copy of any of the files under
    10         revision control. That is, all of the `git`
     10        revision control. That is, all of the Git
    1111        administrative and control files that would normally be present in the
    1212        hidden `.git` sub-directory are directly present in the
     
    2323        that branch.  The tip of the branch is referenced by a branch
    2424        <<def_head,head>>, which moves forward as additional development
    25         is done on the branch.  A single git
     25        is done on the branch.  A single Git
    2626        <<def_repository,repository>> can track an arbitrary number of
    2727        branches, but your <<def_working_tree,working tree>> is
     
    3838
    3939[[def_changeset]]changeset::
    40         BitKeeper/cvsps speak for "<<def_commit,commit>>". Since git does not
     40        BitKeeper/cvsps speak for "<<def_commit,commit>>". Since Git does not
    4141        store changes, but states, it really does not make sense to use the term
    42         "changesets" with git.
     42        "changesets" with Git.
    4343
    4444[[def_checkout]]checkout::
     
    5353        In <<def_SCM,SCM>> jargon, "cherry pick" means to choose a subset of
    5454        changes out of a series of changes (typically commits) and record them
    55         as a new series of changes on top of a different codebase. In GIT, this is
     55        as a new series of changes on top of a different codebase. In Git, this is
    5656        performed by the "git cherry-pick" command to extract the change introduced
    5757        by an existing <<def_commit,commit>> and to record it based on the tip
     
    6565[[def_commit]]commit::
    6666        As a noun: A single point in the
    67         git history; the entire history of a project is represented as a
     67        Git history; the entire history of a project is represented as a
    6868        set of interrelated commits.  The word "commit" is often
    69         used by git in the same places other revision control systems
     69        used by Git in the same places other revision control systems
    7070        use the words "revision" or "version".  Also used as a short
    7171        hand for <<def_commit_object,commit object>>.
    7272+
    7373As a verb: The action of storing a new snapshot of the project's
    74 state in the git history, by creating a new commit representing the current
     74state in the Git history, by creating a new commit representing the current
    7575state of the <<def_index,index>> and advancing <<def_HEAD,HEAD>>
    7676to point at the new commit.
     
    8383        revision.
    8484
    85 [[def_core_git]]core git::
    86         Fundamental data structures and utilities of git. Exposes only limited
     85[[def_commit-ish]]commit-ish (also committish)::
     86        A <<def_commit_object,commit object>> or an
     87        <<def_object,object>> that can be recursively dereferenced to
     88        a commit object.
     89        The following are all commit-ishes:
     90        a commit object,
     91        a <<def_tag_object,tag object>> that points to a commit
     92        object,
     93        a tag object that points to a tag object that points to a
     94        commit object,
     95        etc.
     96
     97[[def_core_git]]core Git::
     98        Fundamental data structures and utilities of Git. Exposes only limited
    8799        source code management tools.
    88100
     
    101113[[def_detached_HEAD]]detached HEAD::
    102114        Normally the <<def_HEAD,HEAD>> stores the name of a
    103         <<def_branch,branch>>.  However, git also allows you to <<def_checkout,check out>>
    104         an arbitrary <<def_commit,commit>> that isn't necessarily the tip of any
    105         particular branch.  In this case HEAD is said to be "detached".
    106 
    107 [[def_dircache]]dircache::
    108         You are *waaaaay* behind. See <<def_index,index>>.
     115        <<def_branch,branch>>, and commands that operate on the
     116        history HEAD represents operate on the history leading to the
     117        tip of the branch the HEAD points at.  However, Git also
     118        allows you to <<def_checkout,check out>> an arbitrary
     119        <<def_commit,commit>> that isn't necessarily the tip of any
     120        particular branch.  The HEAD in such a state is called
     121        "detached".
     122+
     123Note that commands that operate on the history of the current branch
     124(e.g. `git commit` to build a new history on top of it) still work
     125while the HEAD is detached. They update the HEAD to point at the tip
     126of the updated history without affecting any branch.  Commands that
     127update or inquire information _about_ the current branch (e.g. `git
     128branch --set-upstream-to` that sets what remote-tracking branch the
     129current branch integrates with) obviously do not work, as there is no
     130(real) current branch to ask about in this state.
    109131
    110132[[def_directory]]directory::
     
    115137        it contains modifications which have not been <<def_commit,committed>> to the current
    116138        <<def_branch,branch>>.
    117 
    118 [[def_ent]]ent::
    119         Favorite synonym to "<<def_tree-ish,tree-ish>>" by some total geeks. See
    120         `http://en.wikipedia.org/wiki/Ent_(Middle-earth)` for an in-depth
    121         explanation. Avoid this term, not to confuse people.
    122139
    123140[[def_evil_merge]]evil merge::
     
    143160
    144161[[def_file_system]]file system::
    145         Linus Torvalds originally designed git to be a user space file system,
     162        Linus Torvalds originally designed Git to be a user space file system,
    146163        i.e. the infrastructure to hold files and directories. That ensured the
    147         efficiency and speed of git.
    148 
    149 [[def_git_archive]]git archive::
     164        efficiency and speed of Git.
     165
     166[[def_git_archive]]Git archive::
    150167        Synonym for <<def_repository,repository>> (for arch people).
     168
     169[[def_gitfile]]gitfile::
     170        A plain file `.git` at the root of a working tree that
     171        points at the directory that is the real repository.
    151172
    152173[[def_grafts]]grafts::
    153174        Grafts enables two otherwise different lines of development to be joined
    154175        together by recording fake ancestry information for commits. This way
    155         you can make git pretend the set of <<def_parent,parents>> a <<def_commit,commit>> has
     176        you can make Git pretend the set of <<def_parent,parents>> a <<def_commit,commit>> has
    156177        is different from what was recorded when the commit was
    157178        created. Configured via the `.git/info/grafts` file.
     179+
     180Note that the grafts mechanism is outdated and can lead to problems
     181transferring objects between repositories; see linkgit:git-replace[1]
     182for a more flexible and robust system to do the same thing.
    158183
    159184[[def_hash]]hash::
    160         In git's context, synonym to <<def_object_name,object name>>.
     185        In Git's context, synonym for <<def_object_name,object name>>.
    161186
    162187[[def_head]]head::
     
    178203
    179204[[def_hook]]hook::
    180         During the normal execution of several git commands, call-outs are made
     205        During the normal execution of several Git commands, call-outs are made
    181206        to optional scripts that allow a developer to add functionality or
    182207        checking. Typically, the hooks allow for a command to be pre-verified
     
    185210        `$GIT_DIR/hooks/` directory, and are enabled by simply
    186211        removing the `.sample` suffix from the filename. In earlier versions
    187         of git you had to make them executable.
     212        of Git you had to make them executable.
    188213
    189214[[def_index]]index::
     
    202227[[def_master]]master::
    203228        The default development <<def_branch,branch>>. Whenever you
    204         create a git <<def_repository,repository>>, a branch named
     229        create a Git <<def_repository,repository>>, a branch named
    205230        "master" is created, and becomes the active branch. In most
    206231        cases, this contains the local development, though that is
     
    229254
    230255[[def_object]]object::
    231         The unit of storage in git. It is uniquely identified by the
    232         <<def_SHA1,SHA1>> of its contents. Consequently, an
     256        The unit of storage in Git. It is uniquely identified by the
     257        <<def_SHA1,SHA-1>> of its contents. Consequently, an
    233258        object can not be changed.
    234259
     
    242267
    243268[[def_object_name]]object name::
    244         The unique identifier of an <<def_object,object>>. The <<def_hash,hash>>
    245         of the object's contents using the Secure Hash Algorithm
    246         1 and usually represented by the 40 character hexadecimal encoding of
    247         the <<def_hash,hash>> of the object.
     269        The unique identifier of an <<def_object,object>>.  The
     270        object name is usually represented by a 40 character
     271        hexadecimal string.  Also colloquially called <<def_SHA1,SHA-1>>.
    248272
    249273[[def_object_type]]object type::
     
    254278
    255279[[def_octopus]]octopus::
    256         To <<def_merge,merge>> more than two <<def_branch,branches>>. Also denotes an
    257         intelligent predator.
     280        To <<def_merge,merge>> more than two <<def_branch,branches>>.
    258281
    259282[[def_origin]]origin::
     
    261284        at least one upstream project which they track. By default
    262285        'origin' is used for that purpose. New upstream updates
    263         will be fetched into remote <<def_remote_tracking_branch,remote-tracking branches>> named
     286        will be fetched into <<def_remote_tracking_branch,remote-tracking branches>> named
    264287        origin/name-of-upstream-branch, which you can see using
    265288        `git branch -r`.
     
    275298
    276299[[def_pathspec]]pathspec::
    277        Pattern used to specify paths.
     300        Pattern used to limit paths in Git commands.
    278301+
    279302Pathspecs are used on the command line of "git ls-files", "git
     
    284307paths are relative to the current directory or toplevel.  The
    285308pathspec syntax is as follows:
     309+
     310--
    286311
    287312* any path matches itself
     
    293318  prefix will be matched against that pattern using fnmatch(3);
    294319  in particular, '*' and '?' _can_ match directory separators.
     320
     321--
    295322+
    296323For example, Documentation/*.jpg will match all .jpg files
    297324in the Documentation subtree,
    298325including Documentation/chapter_1/figure_1.jpg.
    299 
    300326+
    301327A pathspec that begins with a colon `:` has special meaning.  In the
    302328short form, the leading colon `:` is followed by zero or more "magic
    303329signature" letters (which optionally is terminated by another colon `:`),
    304 and the remainder is the pattern to match against the path. The optional
    305 colon that terminates the "magic signature" can be omitted if the pattern
    306 begins with a character that cannot be a "magic signature" and is not a
    307 colon.
     330and the remainder is the pattern to match against the path.
     331The "magic signature" consists of ASCII symbols that are neither
     332alphanumeric, glob, regex special charaters nor colon.
     333The optional colon that terminates the "magic signature" can be
     334omitted if the pattern begins with a character that does not belong to
     335"magic signature" symbol set and is not a colon.
    308336+
    309337In the long form, the leading colon `:` is followed by a open
     
    312340against the path.
    313341+
    314 The "magic signature" consists of an ASCII symbol that is not
    315 alphanumeric.
    316 +
    317 --
    318 top `/`;;
    319         The magic word `top` (mnemonic: `/`) makes the pattern match
    320         from the root of the working tree, even when you are running
    321         the command from inside a subdirectory.
    322 --
    323 +
    324 Currently only the slash `/` is recognized as the "magic signature",
    325 but it is envisioned that we will support more types of magic in later
    326 versions of git.
    327 +
    328342A pathspec with only a colon means "there is no pathspec". This form
    329343should not be combined with other pathspec.
     344+
     345--
     346top;;
     347        The magic word `top` (magic signature: `/`) makes the pattern
     348        match from the root of the working tree, even when you are
     349        running the command from inside a subdirectory.
     350
     351literal;;
     352        Wildcards in the pattern such as `*` or `?` are treated
     353        as literal characters.
     354
     355icase;;
     356        Case insensitive match.
     357
     358glob;;
     359        Git treats the pattern as a shell glob suitable for
     360        consumption by fnmatch(3) with the FNM_PATHNAME flag:
     361        wildcards in the pattern will not match a / in the pathname.
     362        For example, "Documentation/{asterisk}.html" matches
     363        "Documentation/git.html" but not "Documentation/ppc/ppc.html"
     364        or "tools/perf/Documentation/perf.html".
     365+
     366Two consecutive asterisks ("`**`") in patterns matched against
     367full pathname may have special meaning:
     368
     369 - A leading "`**`" followed by a slash means match in all
     370   directories. For example, "`**/foo`" matches file or directory
     371   "`foo`" anywhere, the same as pattern "`foo`". "`**/foo/bar`"
     372   matches file or directory "`bar`" anywhere that is directly
     373   under directory "`foo`".
     374
     375 - A trailing "`/**`" matches everything inside. For example,
     376   "`abc/**`" matches all files inside directory "abc", relative
     377   to the location of the `.gitignore` file, with infinite depth.
     378
     379 - A slash followed by two consecutive asterisks then a slash
     380   matches zero or more directories. For example, "`a/**/b`"
     381   matches "`a/b`", "`a/x/b`", "`a/x/y/b`" and so on.
     382
     383 - Other consecutive asterisks are considered invalid.
     384+
     385Glob magic is incompatible with literal magic.
     386
     387exclude;;
     388        After a path matches any non-exclude pathspec, it will be run
     389        through all exclude pathspec (magic signature: `!`). If it
     390        matches, the path is ignored.
     391--
    330392
    331393[[def_parent]]parent::
     
    342404
    343405[[def_plumbing]]plumbing::
    344         Cute name for <<def_core_git,core git>>.
     406        Cute name for <<def_core_git,core Git>>.
    345407
    346408[[def_porcelain]]porcelain::
    347409        Cute name for programs and program suites depending on
    348         <<def_core_git,core git>>, presenting a high level access to
    349         core git. Porcelains expose more of a <<def_SCM,SCM>>
     410        <<def_core_git,core Git>>, presenting a high level access to
     411        core Git. Porcelains expose more of a <<def_SCM,SCM>>
    350412        interface than the <<def_plumbing,plumbing>>.
    351413
     
    382444
    383445[[def_ref]]ref::
    384         A 40-byte hex representation of a <<def_SHA1,SHA1>> or a name that
    385         denotes a particular <<def_object,object>>. They may be stored in
    386         a file under `$GIT_DIR/refs/` directory, or
    387         in the `$GIT_DIR/packed-refs` file.
     446        A name that begins with `refs/` (e.g. `refs/heads/master`)
     447        that points to an <<def_object_name,object name>> or another
     448        ref (the latter is called a <<def_symref,symbolic ref>>).
     449        For convenience, a ref can sometimes be abbreviated when used
     450        as an argument to a Git command; see linkgit:gitrevisions[7]
     451        for details.
     452        Refs are stored in the <<def_repository,repository>>.
     453+
     454The ref namespace is hierarchical.
     455Different subhierarchies are used for different purposes (e.g. the
     456`refs/heads/` hierarchy is used to represent local branches).
     457+
     458There are a few special-purpose refs that do not begin with `refs/`.
     459The most notable example is `HEAD`.
    388460
    389461[[def_reflog]]reflog::
     
    396468        A "refspec" is used by <<def_fetch,fetch>> and
    397469        <<def_push,push>> to describe the mapping between remote
    398         <<def_ref,ref>> and local ref. They are combined with a colon in
    399         the format <src>:<dst>, preceded by an optional plus sign, +.
    400         For example: `git fetch $URL
    401         refs/heads/master:refs/heads/origin` means "grab the master
    402         <<def_branch,branch>> <<def_head,head>> from the $URL and store
    403         it as my origin branch head". And `git push
    404         $URL refs/heads/master:refs/heads/to-upstream` means "publish my
    405         master branch head as to-upstream branch at $URL". See also
    406         linkgit:git-push[1].
     470        <<def_ref,ref>> and local ref.
    407471
    408472[[def_remote_tracking_branch]]remote-tracking branch::
    409         A regular git <<def_branch,branch>> that is used to follow changes from
    410         another <<def_repository,repository>>. A remote-tracking
    411         branch should not contain direct modifications or have local commits
    412         made to it. A remote-tracking branch can usually be
    413         identified as the right-hand-side <<def_ref,ref>> in a Pull:
    414         <<def_refspec,refspec>>.
     473        A <<def_ref,ref>> that is used to follow changes from another
     474        <<def_repository,repository>>. It typically looks like
     475        'refs/remotes/foo/bar' (indicating that it tracks a branch named
     476        'bar' in a remote named 'foo'), and matches the right-hand-side of
     477        a configured fetch <<def_refspec,refspec>>. A remote-tracking
     478        branch should not contain direct modifications or have local
     479        commits made to it.
    415480
    416481[[def_repository]]repository::
     
    427492
    428493[[def_revision]]revision::
    429         A particular state of files and directories which was stored in the
    430         <<def_object_database,object database>>. It is referenced by a
    431         <<def_commit_object,commit object>>.
     494        Synonym for <<def_commit,commit>> (the noun).
    432495
    433496[[def_rewind]]rewind::
     
    438501        Source code management (tool).
    439502
    440 [[def_SHA1]]SHA1::
    441         Synonym for <<def_object_name,object name>>.
     503[[def_SHA1]]SHA-1::
     504        "Secure Hash Algorithm 1"; a cryptographic hash function.
     505        In the context of Git used as a synonym for <<def_object_name,object name>>.
    442506
    443507[[def_shallow_repository]]shallow repository::
    444508        A shallow <<def_repository,repository>> has an incomplete
    445509        history some of whose <<def_commit,commits>> have <<def_parent,parents>> cauterized away (in other
    446         words, git is told to pretend that these commits do not have the
     510        words, Git is told to pretend that these commits do not have the
    447511        parents, even though they are recorded in the <<def_commit_object,commit
    448512        object>>). This is sometimes useful when you are interested only in the
     
    453517
    454518[[def_symref]]symref::
    455         Symbolic reference: instead of containing the <<def_SHA1,SHA1>>
     519        Symbolic reference: instead of containing the <<def_SHA1,SHA-1>>
    456520        id itself, it is of the format 'ref: refs/some/thing' and when
    457521        referenced, it recursively dereferences to this reference.
     
    465529        <<def_tag_object,tag>> or a <<def_commit_object,commit object>>).
    466530        In contrast to a <<def_head,head>>, a tag is not updated by
    467         the `commit` command. A git tag has nothing to do with a Lisp
     531        the `commit` command. A Git tag has nothing to do with a Lisp
    468532        tag (which would be called an <<def_object_type,object type>>
    469         in git's context). A tag is most typically used to mark a particular
     533        in Git's context). A tag is most typically used to mark a particular
    470534        point in the commit ancestry <<def_chain,chain>>.
    471535
     
    477541
    478542[[def_topic_branch]]topic branch::
    479         A regular git <<def_branch,branch>> that is used by a developer to
     543        A regular Git <<def_branch,branch>> that is used by a developer to
    480544        identify a conceptual line of development. Since branches are very easy
    481545        and inexpensive, it is often desirable to have several small branches
     
    493557        <<def_tree,tree>> is equivalent to a <<def_directory,directory>>.
    494558
    495 [[def_tree-ish]]tree-ish::
    496         A <<def_ref,ref>> pointing to either a <<def_commit_object,commit
    497         object>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag
    498         object>> pointing to a tag or commit or tree object.
     559[[def_tree-ish]]tree-ish (also treeish)::
     560        A <<def_tree_object,tree object>> or an <<def_object,object>>
     561        that can be recursively dereferenced to a tree object.
     562        Dereferencing a <<def_commit_object,commit object>> yields the
     563        tree object corresponding to the <<def_revision,revision>>'s
     564        top <<def_directory,directory>>.
     565        The following are all tree-ishes:
     566        a <<def_commit-ish,commit-ish>>,
     567        a tree object,
     568        a <<def_tag_object,tag object>> that points to a tree object,
     569        a tag object that points to a tag object that points to a tree
     570        object,
     571        etc.
    499572
    500573[[def_unmerged_index]]unmerged index::
Note: See TracChangeset for help on using the changeset viewer.