about summary refs log tree commit diff
path: root/third_party/git/Documentation/git-clone.txt
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/Documentation/git-clone.txt')
-rw-r--r--third_party/git/Documentation/git-clone.txt354
1 files changed, 0 insertions, 354 deletions
diff --git a/third_party/git/Documentation/git-clone.txt b/third_party/git/Documentation/git-clone.txt
deleted file mode 100644
index 097e6a86c5bd..000000000000
--- a/third_party/git/Documentation/git-clone.txt
+++ /dev/null
@@ -1,354 +0,0 @@
-git-clone(1)
-============
-
-NAME
-----
-git-clone - Clone a repository into a new directory
-
-
-SYNOPSIS
---------
-[verse]
-'git clone' [--template=<template_directory>]
-	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
-	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
-	  [--dissociate] [--separate-git-dir <git dir>]
-	  [--depth <depth>] [--[no-]single-branch] [--no-tags]
-	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
-	  [--[no-]remote-submodules] [--jobs <n>] [--sparse]
-	  [--filter=<filter>] [--] <repository>
-	  [<directory>]
-
-DESCRIPTION
------------
-
-Clones a repository into a newly created directory, creates
-remote-tracking branches for each branch in the cloned repository
-(visible using `git branch --remotes`), and creates and checks out an
-initial branch that is forked from the cloned repository's
-currently active branch.
-
-After the clone, a plain `git fetch` without arguments will update
-all the remote-tracking branches, and a `git pull` without
-arguments will in addition merge the remote master branch into the
-current master branch, if any (this is untrue when "--single-branch"
-is given; see below).
-
-This default configuration is achieved by creating references to
-the remote branch heads under `refs/remotes/origin` and
-by initializing `remote.origin.url` and `remote.origin.fetch`
-configuration variables.
-
-
-OPTIONS
--------
--l::
---local::
-	When the repository to clone from is on a local machine,
-	this flag bypasses the 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.
-+
-If the repository is specified as a local path (e.g., `/path/to/repo`),
-this is the default, and --local is essentially a no-op.  If the
-repository is specified as a URL, then this flag is ignored (and we
-never use the local optimizations).  Specifying `--no-local` will
-override the default when `/path/to/repo` is given, using the regular
-Git transport instead.
-
---no-hardlinks::
-	Force the cloning process from a repository on a local
-	filesystem to copy the files under the `.git/objects`
-	directory instead of using hardlinks. This may be desirable
-	if you are trying to make a back-up of your repository.
-
--s::
---shared::
-	When the repository to clone is on the local machine,
-	instead of using hard links, automatically setup
-	`.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 maintenance run --auto`. (See
-linkgit:git-maintenance[1].) If these objects are removed and were referenced
-by the cloned repository, then the cloned repository will become corrupt.
-+
-Note that running `git repack` without the `--local` option in a repository
-cloned with `--shared` will copy objects from the source repository into a pack
-in the cloned repository, removing the disk space savings of `clone --shared`.
-It is safe, however, to run `git gc`, which uses the `--local` option by
-default.
-+
-If you want to break the dependency of a repository cloned with `--shared` on
-its source repository, you can simply run `git repack -a` to copy all
-objects from the source repository into a pack in the cloned repository.
-
---reference[-if-able] <repository>::
-	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 fewer objects to be copied from the repository
-	being cloned, reducing network and local storage costs.
-	When using the `--reference-if-able`, a non existing
-	directory is skipped with a warning instead of aborting
-	the clone.
-+
-*NOTE*: see the NOTE for the `--shared` option, and also the
-`--dissociate` option.
-
---dissociate::
-	Borrow the objects from reference repositories specified
-	with the `--reference` options only to reduce network
-	transfer, and stop borrowing from them after a clone is made
-	by making necessary local copies of borrowed objects.  This
-	option can also be used when cloning locally from a
-	repository that already borrows objects from another
-	repository--the new repository will borrow objects from the
-	same repository, and this option can be used to stop the
-	borrowing.
-
--q::
---quiet::
-	Operate quietly.  Progress is not reported to the standard
-	error stream.
-
--v::
---verbose::
-	Run verbosely. Does not affect the reporting of progress status
-	to the standard error stream.
-
---progress::
-	Progress status is reported on the standard error stream
-	by default when it is attached to a terminal, unless `--quiet`
-	is specified. This flag forces progress status even if the
-	standard error stream is not directed to a terminal.
-
---server-option=<option>::
-	Transmit the given string to the server when communicating using
-	protocol version 2.  The given string must not contain a NUL or LF
-	character.  The server's handling of server options, including
-	unknown ones, is server-specific.
-	When multiple `--server-option=<option>` are given, they are all
-	sent to the other side in the order listed on the command line.
-
--n::
---no-checkout::
-	No checkout of HEAD is performed after the clone is complete.
-
---bare::
-	Make a 'bare' Git repository.  That is, instead of
-	creating `<directory>` and placing the administrative
-	files in `<directory>/.git`, make the `<directory>`
-	itself the `$GIT_DIR`. This obviously implies the `--no-checkout`
-	because there is nowhere to check out the working tree.
-	Also the branch heads at the remote are copied directly
-	to corresponding local branch heads, without mapping
-	them to `refs/remotes/origin/`.  When this option is
-	used, neither remote-tracking branches nor the related
-	configuration variables are created.
-
---sparse::
-	Initialize the sparse-checkout file so the working
-	directory starts with only the files in the root
-	of the repository. The sparse-checkout file can be
-	modified to grow the working directory as needed.
-
---filter=<filter-spec>::
-	Use the partial clone feature and request that the server sends
-	a subset of reachable objects according to a given object filter.
-	When using `--filter`, the supplied `<filter-spec>` is used for
-	the partial clone filter. For example, `--filter=blob:none` will
-	filter out all blobs (file contents) until needed by Git. Also,
-	`--filter=blob:limit=<size>` will filter out all blobs of size
-	at least `<size>`. For more details on filter specifications, see
-	the `--filter` option in linkgit:git-rev-list[1].
-
---mirror::
-	Set up a mirror of the source repository.  This implies `--bare`.
-	Compared to `--bare`, `--mirror` not only maps local branches of the
-	source to local branches of the target, it maps all refs (including
-	remote-tracking branches, notes etc.) and sets up a refspec configuration such
-	that all these refs are overwritten by a `git remote update` in the
-	target repository.
-
--o <name>::
---origin <name>::
-	Instead of using the remote name `origin` to keep track
-	of the upstream repository, use `<name>`.
-
--b <name>::
---branch <name>::
-	Instead of pointing the newly created HEAD to the branch pointed
-	to by the cloned repository's HEAD, point to `<name>` branch
-	instead. In a non-bare repository, this is the branch that will
-	be checked out.
-	`--branch` can also take tags and detaches the HEAD at that commit
-	in the resulting repository.
-
--u <upload-pack>::
---upload-pack <upload-pack>::
-	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>::
-	Specify the directory from which templates will be used;
-	(See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)
-
--c <key>=<value>::
---config <key>=<value>::
-	Set a configuration variable in the newly-created repository;
-	this takes effect immediately after the repository is
-	initialized, but before the remote history is fetched or any
-	files checked out.  The key is in the same format as expected by
-	linkgit:git-config[1] (e.g., `core.eol=true`). If multiple
-	values are given for the same key, each value will be written to
-	the config file. This makes it safe, for example, to add
-	additional fetch refspecs to the origin remote.
-+
-Due to limitations of the current implementation, some configuration
-variables do not take effect until after the initial fetch and checkout.
-Configuration variables known to not take effect are:
-`remote.<name>.mirror` and `remote.<name>.tagOpt`.  Use the
-corresponding `--mirror` and `--no-tags` options instead.
-
---depth <depth>::
-	Create a 'shallow' clone with a history truncated to the
-	specified number of commits. Implies `--single-branch` unless
-	`--no-single-branch` is given to fetch the histories near the
-	tips of all branches. If you want to clone submodules shallowly,
-	also pass `--shallow-submodules`.
-
---shallow-since=<date>::
-	Create a shallow clone with a history after the specified time.
-
---shallow-exclude=<revision>::
-	Create a shallow clone with a history, excluding commits
-	reachable from a specified remote branch or tag.  This option
-	can be specified multiple times.
-
---[no-]single-branch::
-	Clone only the history leading to the tip of a single branch,
-	either specified by the `--branch` option or the primary
-	branch remote's `HEAD` points at.
-	Further fetches into the resulting repository will only update the
-	remote-tracking branch for the branch this option was used for the
-	initial cloning.  If the HEAD at the remote did not point at any
-	branch when `--single-branch` clone was made, no remote-tracking
-	branch is created.
-
---no-tags::
-	Don't clone any tags, and set
-	`remote.<remote>.tagOpt=--no-tags` in the config, ensuring
-	that future `git pull` and `git fetch` operations won't follow
-	any tags. Subsequent explicit tag fetches will still work,
-	(see linkgit:git-fetch[1]).
-+
-Can be used in conjunction with `--single-branch` to clone and
-maintain a branch with no references other than a single cloned
-branch. This is useful e.g. to maintain minimal clones of the default
-branch of some repository for search indexing.
-
---recurse-submodules[=<pathspec>]::
-	After the clone is created, initialize and clone submodules
-	within based on the provided pathspec.  If no pathspec is
-	provided, all submodules are initialized and cloned.
-	This option can be given multiple times for pathspecs consisting
-	of multiple entries.  The resulting clone has `submodule.active` set to
-	the provided pathspec, or "." (meaning all submodules) if no
-	pathspec is provided.
-+
-Submodules are initialized and cloned using their default settings. This is
-equivalent to running
-`git submodule update --init --recursive <pathspec>` immediately after
-the clone is finished. This option is ignored if the cloned repository does
-not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`,
-or `--mirror` is given)
-
---[no-]shallow-submodules::
-	All submodules which are cloned will be shallow with a depth of 1.
-
---[no-]remote-submodules::
-	All submodules which are cloned will use the status of the submodule's
-	remote-tracking branch to update the submodule, rather than the
-	superproject's recorded SHA-1. Equivalent to passing `--remote` to
-	`git submodule update`.
-
---separate-git-dir=<git dir>::
-	Instead of placing the cloned repository where it is supposed
-	to be, place the cloned repository at the specified directory,
-	then make a filesystem-agnostic Git symbolic link to there.
-	The result is Git repository can be separated from working
-	tree.
-
--j <n>::
---jobs <n>::
-	The number of submodules fetched at the same time.
-	Defaults to the `submodule.fetchJobs` option.
-
-<repository>::
-	The (possibly remote) repository to clone from.  See the
-	<<URLS,GIT URLS>> section below for more information on specifying
-	repositories.
-
-<directory>::
-	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 only allowed if the directory is empty.
-
-:git-clone: 1
-include::urls.txt[]
-
-EXAMPLES
---------
-
-* Clone from upstream:
-+
-------------
-$ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux
-$ cd my-linux
-$ make
-------------
-
-
-* Make a local clone that borrows from the current directory, without checking things out:
-+
-------------
-$ git clone -l -s -n . ../copy
-$ cd ../copy
-$ git show-branch
-------------
-
-
-* Clone from upstream while borrowing from an existing local directory:
-+
-------------
-$ git clone --reference /git/linux.git \
-	git://git.kernel.org/pub/scm/.../linux.git \
-	my-linux
-$ cd my-linux
-------------
-
-
-* Create a bare repository to publish your changes to the public:
-+
-------------
-$ git clone --bare -l /home/proj/.git /pub/scm/proj.git
-------------
-
-
-GIT
----
-Part of the linkgit:git[1] suite