The git clone
command is used to create a copy of an existing Git repository. This is useful for sharing projects and collaborating with others.
Initial Example
To clone a repository, you need the URL of the repository you want to copy. Use the following command:
git clone https://github.com/user/repository.git
CLONE Options
Option | Description |
---|---|
-q, --quiet | Suppress all output except for error messages. |
-b <branch>, --branch <branch> | Clone a specific branch from the repository. |
--depth <depth> | Create a shallow clone with a history truncated to the specified number of commits. |
--bare | Create a bare repository with no working directory. |
--recurse-submodules | Initialize submodules in the cloned repository. |
-o <name>, --origin <name> | Use the specified name instead of origin to track the upstream repository. |
-v, --verbose | Show detailed output of the cloning process. |
--single-branch | Clone only the history leading to the tip of a single branch. |
--mirror | Create a mirror repository, which includes all refs and no working directory. |
--template <template-directory> | Specify the directory from which templates will be used. |
--config <key=value> | Set configuration variables in the newly created repository. |
--reference <repository> | Borrow objects from the specified local repository when cloning. |
--dissociate | Use only the objects from the cloned repository and dissociate from the reference repository. |
--separate-git-dir <git-dir> | Place the .git directory at the specified location and create a linked working directory. |
--filter <filter-spec> | Omit certain objects and refs from the cloned repository, useful for large repositories. |
Examples
1. Basic Usage
Clone a repository from a URL:
git clone https://github.com/user/repository.git
This command creates a directory named repository
and initializes it with the contents of the remote repository.
2. Cloning into a Specific Directory
If you want to clone the repository into a specific directory, provide the directory name as an argument:
git clone https://github.com/user/repository.git mydirectory
This creates a directory named mydirectory
and initializes it with the contents of the remote repository.
3. Cloning a Specific Branch
To clone a specific branch of the repository, use the -b
option followed by the branch name:
git clone -b branchname https://github.com/user/repository.git
This will clone only the specified branch.
4. Cloning a Repository with Submodules
If the repository contains submodules, you can initialize them using the --recurse-submodules
option:
git clone --recurse-submodules https://github.com/user/repository.git
This ensures all submodules are cloned and initialized.