X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-clone.txt;h=a90521e5139b264d1a37289966da64ea53c862cd;hb=f6407823d1467a6b6d2002878a64dec42df0a361;hp=8488202e3c171a25440c6cab185a7954a68f76db;hpb=949964c4af740015c53cb7630fea8795e0f710a0;p=git.git diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index 8488202e..a90521e5 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -3,14 +3,15 @@ git-clone(1) NAME ---- -git-clone - Clones a repository. +git-clone - Clones a repository SYNOPSIS -------- [verse] -'git-clone' [-l [-s]] [-q] [-n] [--naked] [-o ] [-u ] - [] +'git-clone' [--template=] [-l [-s]] [-q] [-n] [--bare] + [-o ] [-u ] [--reference ] + [--use-separate-remote] [] DESCRIPTION ----------- @@ -46,10 +47,18 @@ OPTIONS -s:: When the repository to clone is on the local machine, instead of using hard links, automatically setup - .git/objects/info/alternatives to share the objects + .git/objects/info/alternates to share the objects with the source repository. The resulting repository starts out without any object of its own. +--reference :: + If the reference repository is on the local machine + 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 + being cloned, reducing network and local storage costs. + --quiet:: -q:: Operate quietly. This flag is passed to "rsync" and @@ -58,11 +67,13 @@ OPTIONS -n:: No checkout of HEAD is performed after the clone is complete. ---naked:: - Make a 'naked' GIT repository. That is, instead of +--bare:: + Make a 'bare' GIT repository. That is, instead of creating `` and placing the administrative files in `/.git`, make the `` - itself the `$GIT_DIR`. This implies `-n` option. + itself the `$GIT_DIR`. This implies `-n` option. When + this option is used, neither the `origin` branch nor the + default `remotes/origin` file is created. -o :: Instead of using the branch name 'origin' to keep track @@ -78,19 +89,29 @@ OPTIONS the command to specify non-default path for the command run on the other end. +--template=:: + Specify the directory from which templates will be used; + if unset the templates are taken from the installation + defined default, typically `/usr/share/git-core/templates`. + +--use-separate-remote:: + Save remotes heads under `$GIT_DIR/remotes/origin/` instead + of `$GIT_DIR/refs/heads/`. Only the master branch is saved + in the latter. + :: The (possibly remote) repository to clone from. It can be any URL git-fetch supports. :: - The name of a new directory to clone into. The "humanish" + The name of a new directory to clone into. The "humanish" part of the source repository is used if no directory is explicitly given ("repo" for "/path/to/repo.git" and "foo" for "host.xz:foo/.git"). Cloning into an existing directory is not allowed. Examples -~~~~~~~~ +-------- Clone from upstream:: + @@ -110,17 +131,27 @@ $ git show-branch ------------ -Create a naked repository to publish your changes to the public:: +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 +------------ + + +Create a bare repository to publish your changes to the public:: + ------------ -$ git clone --naked -l /home/proj/.git /pub/scm/proj.git +$ 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 --naked -l -s /pub/scm/.../torvalds/linux-2.6.git \ +$ git clone --bare -l -s /pub/scm/.../torvalds/linux-2.6.git \ /pub/scm/.../me/subsys-2.6.git ------------