Merge branch 'jk/http-auth-redirects'
[gitweb.git] / Documentation / git.txt
index c4f0ed59576b877a5eab2e36aa874d8c572bb905..824a179a965ba419492840afb55d1d55e038ed0e 100644 (file)
@@ -9,7 +9,7 @@ git - the stupid content tracker
 SYNOPSIS
 --------
 [verse]
-'git' [--version] [--help] [-c <name>=<value>]
+'git' [--version] [--help] [-C <path>] [-c <name>=<value>]
     [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
     [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
     [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
@@ -43,9 +43,11 @@ unreleased) version of Git, that is available from 'master'
 branch of the `git.git` repository.
 Documentation for older releases are available here:
 
-* link:v1.8.4/git.html[documentation for release 1.8.4]
+* link:v1.8.4.2/git.html[documentation for release 1.8.4.2]
 
 * release notes for
+  link:RelNotes/1.8.4.2.txt[1.8.4.2],
+  link:RelNotes/1.8.4.1.txt[1.8.4.1],
   link:RelNotes/1.8.4.txt[1.8.4].
 
 * link:v1.8.3.4/git.html[documentation for release 1.8.3.4]
@@ -395,6 +397,20 @@ displayed. See linkgit:git-help[1] for more information,
 because `git --help ...` is converted internally into `git
 help ...`.
 
+-C <path>::
+       Run as if git was started in '<path>' instead of the current working
+       directory.  When multiple `-C` options are given, each subsequent
+       non-absolute `-C <path>` is interpreted relative to the preceding `-C
+       <path>`.
++
+This option affects options that expect path name like `--git-dir` and
+`--work-tree` in that their interpretations of the path names would be
+made relative to the working directory caused by the `-C` option. For
+example the following invocations are equivalent:
+
+    git --git-dir=a.git --work-tree=b -C c status
+    git --git-dir=c/a.git --work-tree=c/b status
+
 -c <name>=<value>::
        Pass a configuration parameter to the command. The value
        given will override values from configuration files.
@@ -461,19 +477,19 @@ help ...`.
        This is equivalent to setting the `GIT_LITERAL_PATHSPECS` environment
        variable to `1`.
 
---glob-pathspecs:
+--glob-pathspecs::
        Add "glob" magic to all pathspec. This is equivalent to setting
        the `GIT_GLOB_PATHSPECS` environment variable to `1`. Disabling
        globbing on individual pathspecs can be done using pathspec
        magic ":(literal)"
 
---noglob-pathspecs:
+--noglob-pathspecs::
        Add "literal" magic to all pathspec. This is equivalent to setting
        the `GIT_NOGLOB_PATHSPECS` environment variable to `1`. Enabling
        globbing on individual pathspecs can be done using pathspec
        magic ":(glob)"
 
---icase-pathspecs:
+--icase-pathspecs::
        Add "icase" magic to all pathspec. This is equivalent to setting
        the `GIT_ICASE_PATHSPECS` environment variable to `1`.
 
@@ -894,6 +910,16 @@ GIT_ICASE_PATHSPECS::
        Setting this variable to `1` will cause Git to treat all
        pathspecs as case-insensitive.
 
+'GIT_REFLOG_ACTION'::
+       When a ref is updated, reflog entries are created to keep
+       track of the reason why the ref was updated (which is
+       typically the name of the high-level command that updated
+       the ref), in addition to the old and new values of the ref.
+       A scripted Porcelain command can use set_reflog_action
+       helper function in `git-sh-setup` to set its name to this
+       variable when it is invoked as the top level command by the
+       end user, to be recorded in the body of the reflog.
+
 
 Discussion[[Discussion]]
 ------------------------