Code

Merge branch 'jc/maint-add-sync-stat'
[git.git] / Documentation / git-clone.txt
index 4a5bab510eb9346d815522f9c9df9af6b0a850a3..14e58f3866e3a4e7d1da01753cb68082e88ae2f6 100644 (file)
@@ -9,9 +9,10 @@ git-clone - Clone a repository into a new directory
 SYNOPSIS
 --------
 [verse]
 SYNOPSIS
 --------
 [verse]
-'git-clone' [--template=<template_directory>] [-l [-s]] [-q] [-n] [--bare]
+'git-clone' [--template=<template_directory>]
+         [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare]
          [-o <name>] [-u <upload-pack>] [--reference <repository>]
          [-o <name>] [-u <upload-pack>] [--reference <repository>]
-         [--depth <depth>] <repository> [<directory>]
+         [--depth <depth>] [--] <repository> [<directory>]
 
 DESCRIPTION
 -----------
 
 DESCRIPTION
 -----------
@@ -40,8 +41,19 @@ OPTIONS
        this flag bypasses normal "git aware" transport
        mechanism and clones the repository by making a copy of
        HEAD and everything under objects and refs directories.
        this flag bypasses 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
-       to save space when possible.
+       The files under `.git/objects/` directory are hardlinked
+       to save space when possible.  This is now the default when
+       the source repository is specified with `/path/to/repo`
+       syntax, so it essentially is a no-op option.  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.
+
+--no-hardlinks::
+       Optimize the cloning process from a repository on a
+       local filesystem by copying files under `.git/objects`
+       directory.
 
 --shared::
 -s::
 
 --shared::
 -s::
@@ -56,7 +68,7 @@ OPTIONS
        automatically setup .git/objects/info/alternates to
        obtain objects from the reference repository.  Using
        an already existing repository as an alternate will
        automatically setup .git/objects/info/alternates to
        obtain objects from the reference repository.  Using
        an already existing repository as an alternate will
-       require less objects to be copied from the repository
+       require fewer objects to be copied from the repository
        being cloned, reducing network and local storage costs.
 
 --quiet::
        being cloned, reducing network and local storage costs.
 
 --quiet::
@@ -64,6 +76,7 @@ OPTIONS
        Operate quietly.  This flag is passed to "rsync" and
        "git-fetch-pack" commands when given.
 
        Operate quietly.  This flag is passed to "rsync" and
        "git-fetch-pack" commands when given.
 
+--no-checkout::
 -n::
        No checkout of HEAD is performed after the clone is complete.
 
 -n::
        No checkout of HEAD is performed after the clone is complete.
 
@@ -98,16 +111,17 @@ OPTIONS
 
 --depth <depth>::
        Create a 'shallow' clone with a history truncated to the
 
 --depth <depth>::
        Create a 'shallow' clone with a history truncated to the
-       specified number of revs.  A shallow repository has
+       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
        number of limitations (you cannot clone or fetch from
        it, nor push from nor into it), but is adequate if you
-       want to only look at near the tip of a large project
-       with a long history, and would want to send in fixes
+       are only interested in the recent history of a large project
+       with a long history, and would want to send in fixes
        as patches.
 
 <repository>::
        as patches.
 
 <repository>::
-       The (possibly remote) repository to clone from.  It can
-       be any URL git-fetch supports.
+       The (possibly remote) repository to clone from.  See the
+       <<URLS,URLS>> section below for more information on specifying
+       repositories.
 
 <directory>::
        The name of a new directory to clone into.  The "humanish"
 
 <directory>::
        The name of a new directory to clone into.  The "humanish"
@@ -116,6 +130,8 @@ OPTIONS
        for "host.xz:foo/.git").  Cloning into an existing directory
        is not allowed.
 
        for "host.xz:foo/.git").  Cloning into an existing directory
        is not allowed.
 
+include::urls.txt[]
+
 Examples
 --------
 
 Examples
 --------