git-clone(1)
============
v0.1, July 2005

NAME
----
git-clone - Clones a repository.


SYNOPSIS
--------
'git clone' [-l] [-u <upload-pack>] [-q] <repository> <directory>

DESCRIPTION
-----------
Clones a repository into a newly created directory.

OPTIONS
-------
-l::
	When the repository to clone from is on a local machine,
	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.

-q::
	Operate quietly.  This flag is passed to "rsync" and
	"git-clone-pack" commands when given.

-u <upload-pack>::
	When given, and the repository to clone from is handled
	by 'git-clone-pack', '--exec=<upload-pack>' is passed to
	the command to specify non-default path for the command
	run on the other end.

<repository>::
	The (possibly remote) repository to clone from.  It can
	be an "rsync://host/dir" URL, an "http://host/dir" URL,
	or [<host>:]/dir notation that is used by 'git-clone-pack'.
	Currently http transport is not supported.

<directory>::
	The name of a new directory to be cloned into.  It is an
	error to specify an existing directory.

Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by Junio C Hamano.


GIT
---
Part of the link:git.html[git] suite

