1git-clone(1) 2============ 3 4NAME 5---- 6git-clone - Clones a repository. 7 8 9SYNOPSIS 10-------- 11'git-clone' [-l [-s]] [-q] [-n] [-o <name>] [-u <upload-pack>] <repository> [<directory>] 12 13DESCRIPTION 14----------- 15Clones a repository into a newly created directory. All remote 16branch heads are copied under `$GIT_DIR/refs/heads/`, except 17that the remote `master` is also copied to `origin` branch. 18 19In addition, `$GIT_DIR/remotes/origin` file is set up to have 20this line: 21 22 Pull: master:origin 23 24This is to help the typical workflow of working off of the 25remote `master` branch. Every time `git pull` without argument 26is run, the progress on the remote `master` branch is tracked by 27copying it into the local `origin` branch, and merged into the 28branch you are currently working on. Remote branches other than 29`master` are also added there to be tracked. 30 31 32OPTIONS 33------- 34--local:: 35-l:: 36 When the repository to clone from is on a local machine, 37 this flag bypasses normal "git aware" transport 38 mechanism and clones the repository by making a copy of 39 HEAD and everything under objects and refs directories. 40 The files under .git/objects/ directory are hardlinked 41 to save space when possible. 42 43--shared:: 44-s:: 45 When the repository to clone is on the local machine, 46 instead of using hard links, automatically setup 47 .git/objects/info/alternatives to share the objects 48 with the source repository. The resulting repository 49 starts out without any object of its own. 50 51--quiet:: 52-q:: 53 Operate quietly. This flag is passed to "rsync" and 54 "git-clone-pack" commands when given. 55 56-n:: 57 No checkout of HEAD is performed after the clone is complete. 58 59-o <name>:: 60 Instead of using the branch name 'origin' to keep track 61 of the upstream repository, use <name> instead. Note 62 that the shorthand name stored in `remotes/origin` is 63 not affected, but the local branch name to pull the 64 remote `master` branch into is. 65 66--upload-pack <upload-pack>:: 67-u <upload-pack>:: 68 When given, and the repository to clone from is handled 69 by 'git-clone-pack', '--exec=<upload-pack>' is passed to 70 the command to specify non-default path for the command 71 run on the other end. 72 73<repository>:: 74 The (possibly remote) repository to clone from. It can 75 be any URL git-fetch supports. 76 77<directory>:: 78 The name of a new directory to clone into. The "humanish" 79 part of the source repository is used if no directory is 80 explicitly given ("repo" for "/path/to/repo.git" and "foo" 81 for "host.xz:foo/.git"). Cloning into an existing directory 82 is not allowed. 83 84Examples 85~~~~~~~~ 86 87Clone from upstream:: 88+ 89------------ 90$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6 91$ cd my2.6 92$ make 93------------ 94 95 96Make a local clone that borrows from the current directory, without checking things out:: 97+ 98------------ 99$ git clone -l -s -n . ../copy 100$ cd copy 101$ git show-branch 102------------ 103 104Author 105------ 106Written by Linus Torvalds <torvalds@osdl.org> 107 108 109Documentation 110-------------- 111Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. 112 113 114GIT 115--- 116Part of the gitlink:git[7] suite 117