Merge branch 'ym/fix-opportunistic-index-update-race'
[gitweb.git] / Documentation / git-clone.txt
index 6d98ef3d2ab8c8e63e026dbd7e242d3c3bc3c79a..0363d0039b274093e6d230a83fcf99c3ff6700d8 100644 (file)
@@ -14,7 +14,7 @@ SYNOPSIS
          [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
          [--separate-git-dir <git dir>]
          [--depth <depth>] [--[no-]single-branch]
-         [--recursive|--recurse-submodules] [--] <repository>
+         [--recursive | --recurse-submodules] [--] <repository>
          [<directory>]
 
 DESCRIPTION
@@ -43,7 +43,7 @@ OPTIONS
 --local::
 -l::
        When the repository to clone from is on a local machine,
-       this flag bypasses the normal "git aware" transport
+       this flag bypasses the normal "Git aware" transport
        mechanism and clones the repository by making a copy of
        HEAD and everything under objects and refs directories.
        The files under `.git/objects/` directory are hardlinked
@@ -54,16 +54,13 @@ this is the default, and --local is essentially a no-op.  If the
 repository is specified as a URL, then this flag is ignored (and we
 never use the local optimizations).  Specifying `--no-local` will
 override the default when `/path/to/repo` is given, using the regular
-git transport instead.
-+
-To force copying instead of hardlinking (which may be desirable if you
-are trying to make a back-up of your repository), but still avoid the
-usual "git aware" transport mechanism, `--no-hardlinks` can be used.
+Git transport instead.
 
 --no-hardlinks::
-       Optimize the cloning process from a repository on a
-       local filesystem by copying files under `.git/objects`
-       directory.
+       Force the cloning process from a repository on a local
+       filesystem to copy the files under the `.git/objects`
+       directory instead of using hardlinks. This may be desirable
+       if you are trying to make a back-up of your repository.
 
 --shared::
 -s::
@@ -76,9 +73,9 @@ usual "git aware" transport mechanism, `--no-hardlinks` can be used.
 *NOTE*: this is a possibly dangerous operation; do *not* use
 it unless you understand what it does. If you clone your
 repository using this option and then delete branches (or use any
-other git command that makes any existing commit unreferenced) in the
+other Git command that makes any existing commit unreferenced) in the
 source repository, some objects may become unreferenced (or dangling).
-These objects may be removed by normal git operations (such as `git commit`)
+These objects may be removed by normal Git operations (such as `git commit`)
 which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
 If these objects are removed and were referenced by the cloned repository,
 then the cloned repository will become corrupt.
@@ -125,7 +122,7 @@ objects from the source repository into a pack in the cloned repository.
        No checkout of HEAD is performed after the clone is complete.
 
 --bare::
-       Make a 'bare' GIT repository.  That is, instead of
+       Make a 'bare' Git repository.  That is, instead of
        creating `<directory>` and placing the administrative
        files in `<directory>/.git`, make the `<directory>`
        itself the `$GIT_DIR`. This obviously implies the `-n`
@@ -181,14 +178,9 @@ objects from the source repository into a pack in the cloned repository.
 
 --depth <depth>::
        Create a 'shallow' clone with a history truncated to the
-       specified number of revisions.  A shallow repository has a
-       number of limitations (you cannot clone or fetch from
-       it, nor push from nor into it), but is adequate if you
-       are only interested in the recent history of a large project
-       with a long history, and would want to send in fixes
-       as patches.
-
---single-branch::
+       specified number of revisions.
+
+--[no-]single-branch::
        Clone only the history leading to the tip of a single branch,
        either specified by the `--branch` option or the primary
        branch remote's `HEAD` points at. When creating a shallow
@@ -196,9 +188,9 @@ objects from the source repository into a pack in the cloned repository.
        `--no-single-branch` is given to fetch the histories near the
        tips of all branches.
        Further fetches into the resulting repository will only update the
-       remote tracking branch for the branch this option was used for the
+       remote-tracking branch for the branch this option was used for the
        initial cloning.  If the HEAD at the remote did not point at any
-       branch when `--single-branch` clone was made, no remote tracking
+       branch when `--single-branch` clone was made, no remote-tracking
        branch is created.
 
 --recursive::
@@ -213,8 +205,8 @@ objects from the source repository into a pack in the cloned repository.
 --separate-git-dir=<git dir>::
        Instead of placing the cloned repository where it is supposed
        to be, place the cloned repository at the specified directory,
-       then make a filesytem-agnostic git symbolic link to there.
-       The result is git repository can be separated from working
+       then make a filesystem-agnostic Git symbolic link to there.
+       The result is Git repository can be separated from working
        tree.
 
 
@@ -239,8 +231,8 @@ Examples
 * Clone from upstream:
 +
 ------------
-$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
-$ cd my2.6
+$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux
+$ cd my-linux
 $ make
 ------------
 
@@ -257,10 +249,10 @@ $ git show-branch
 * Clone from upstream while borrowing from an existing local directory:
 +
 ------------
-$ git clone --reference my2.6 \
-       git://git.kernel.org/pub/scm/.../linux-2.7 \
-       my2.7
-$ cd my2.7
+$ git clone --reference /git/linux.git \
+       git://git.kernel.org/pub/scm/.../linux.git \
+       my-linux
+$ cd my-linux
 ------------
 
 
@@ -271,13 +263,6 @@ $ git clone --bare -l /home/proj/.git /pub/scm/proj.git
 ------------
 
 
-* Create a repository on the kernel.org machine that borrows from Linus:
-+
-------------
-$ git clone --bare -l -s /pub/scm/.../torvalds/linux-2.6.git \
-    /pub/scm/.../me/subsys-2.6.git
-------------
-
 GIT
 ---
 Part of the linkgit:git[1] suite