Merge branch 'sg/t5551-fetch-smart-error-is-translated'
[gitweb.git] / Documentation / git.txt
index 72adfcc5e24b783f6924655088a968a5357b188e..e095514ace357b8e76ab0d9ea58b2a6c0e3dcd5b 100644 (file)
@@ -33,7 +33,8 @@ individual Git commands with "git help command".  linkgit:gitcli[7]
 manual page gives you an overview of the command-line command syntax.
 
 A formatted and hyperlinked copy of the latest Git documentation
-can be viewed at `https://git.github.io/htmldocs/git.html`.
+can be viewed at https://git.github.io/htmldocs/git.html
+or https://git-scm.com/docs.
 
 
 OPTIONS
@@ -210,6 +211,26 @@ people via patch over e-mail.
 
 include::cmds-foreignscminterface.txt[]
 
+Reset, restore and revert
+~~~~~~~~~~~~~~~~~~~~~~~~~
+There are three commands with similar names: `git reset`,
+`git restore` and `git revert`.
+
+* linkgit:git-revert[1] is about making a new commit that reverts the
+  changes made by other commits.
+
+* linkgit:git-restore[1] is about restoring files in the working tree
+  from either the index or another commit. This command does not
+  update your branch. The command can also be used to restore files in
+  the index from another commit.
+
+* linkgit:git-reset[1] is about updating your branch, moving the tip
+  in order to add or remove commits from the branch. This operation
+  changes the commit history.
++
+`git reset` can also be used to restore the index, overlapping with
+`git restore`.
+
 
 Low-level commands (plumbing)
 -----------------------------
@@ -660,26 +681,53 @@ of clones and fetches.
        When a curl trace is enabled (see `GIT_TRACE_CURL` above), do not dump
        data (that is, only dump info lines and headers).
 
-`GIT_TR2`::
+`GIT_TRACE2`::
        Enables more detailed trace messages from the "trace2" library.
-       Output from `GIT_TR2` is a simple text-based format for human
+       Output from `GIT_TRACE2` is a simple text-based format for human
        readability.
 +
-The `GIT_TR2` variables can take many values. Any value available to
-the `GIT_TRACE` variables is also available to `GIT_TR2`. The `GIT_TR2`
-variables can also specify a Unix Domain Socket. See
-link:technical/api-trace2.html[Trace2 documentation] for full details.
+If this variable is set to "1", "2" or "true" (comparison
+is case insensitive), trace messages will be printed to
+stderr.
++
+If the variable is set to an integer value greater than 2
+and lower than 10 (strictly) then Git will interpret this
+value as an open file descriptor and will try to write the
+trace messages into this file descriptor.
++
+Alternatively, if the variable is set to an absolute path
+(starting with a '/' character), Git will interpret this
+as a file path and will try to append the trace messages
+to it.  If the path already exists and is a directory, the
+trace messages will be written to files (one per process)
+in that directory, named according to the last component
+of the SID and an optional counter (to avoid filename
+collisions).
++
+In addition, if the variable is set to
+`af_unix:[<socket_type>:]<absolute-pathname>`, Git will try
+to open the path as a Unix Domain Socket.  The socket type
+can be either `stream` or `dgram`.
++
+Unsetting the variable, or setting it to empty, "0" or
+"false" (case insensitive) disables trace messages.
++
+See link:technical/api-trace2.html[Trace2 documentation]
+for full details.
+
 
-`GIT_TR2_EVENT`::
+`GIT_TRACE2_EVENT`::
        This setting writes a JSON-based format that is suited for machine
-       interpretation. See link:technical/api-trace2.html[Trace2 documentation]
-       for full details.
+       interpretation.
+       See `GIT_TRACE2` for available trace output options and
+       link:technical/api-trace2.html[Trace2 documentation] for full details.
 
-`GIT_TR2_PERF`::
-       In addition to the text-based messages available in `GIT_TR2`, this
+`GIT_TRACE2_PERF`::
+       In addition to the text-based messages available in `GIT_TRACE2`, this
        setting writes a column-based format for understanding nesting
-       regions. See link:technical/api-trace2.html[Trace2 documentation]
-       for full details.
+       regions.
+       See `GIT_TRACE2` for available trace output options and
+       link:technical/api-trace2.html[Trace2 documentation] for full details.
 
 `GIT_REDACT_COOKIES`::
        This can be set to a comma-separated list of strings. When a curl trace