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