Merge branch 'sh/rebase-i-p'
[gitweb.git] / Documentation / git-clone.txt
index fdccbd4cbe8fcb336b412d75dc070a5d7b5acb1e..95f08b911464b348525e4c65cca32946c583e762 100644 (file)
@@ -9,8 +9,8 @@ git-clone - Clone a repository into a new directory
 SYNOPSIS
 --------
 [verse]
-'git-clone' [--template=<template_directory>]
-         [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare]
+'git clone' [--template=<template_directory>]
+         [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
          [-o <name>] [-u <upload-pack>] [--reference <repository>]
          [--depth <depth>] [--] <repository> [<directory>]
 
@@ -62,6 +62,18 @@ OPTIONS
        .git/objects/info/alternates to share the objects
        with the source repository.  The resulting repository
        starts out without any object of its own.
++
+*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
+source repository, some objects may become unreferenced (or dangling).
+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.
+
+
 
 --reference <repository>::
        If the reference repository is on the local machine
@@ -70,11 +82,18 @@ OPTIONS
        an already existing repository as an alternate will
        require fewer objects to be copied from the repository
        being cloned, reducing network and local storage costs.
++
+*NOTE*: see NOTE to --shared option.
 
 --quiet::
 -q::
-       Operate quietly.  This flag is passed to "rsync" and
-       "git-fetch-pack" commands when given.
+       Operate quietly.  This flag is also passed to the `rsync'
+       command when given.
+
+--verbose::
+-v::
+       Display the progressbar, even in case the standard output is not
+       a terminal.
 
 --no-checkout::
 -n::
@@ -92,6 +111,9 @@ OPTIONS
        used, neither remote-tracking branches nor the related
        configuration variables are created.
 
+--mirror::
+       Set up a mirror of the remote repository.  This implies --bare.
+
 --origin <name>::
 -o <name>::
        Instead of using the remote name 'origin' to keep track
@@ -99,9 +121,8 @@ OPTIONS
 
 --upload-pack <upload-pack>::
 -u <upload-pack>::
-       When given, and the repository to clone from is handled
-       by 'git-fetch-pack', '--exec=<upload-pack>' is passed to
-       the command to specify non-default path for the command
+       When given, and the repository to clone from is accessed
+       via ssh, this specifies a non-default path for the command
        run on the other end.
 
 --template=<template_directory>::
@@ -191,4 +212,4 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 
 GIT
 ---
-Part of the linkgit:git[7] suite
+Part of the linkgit:git[1] suite