Updated on: 6/15/2022
Git clone is used to copy an existing Git repository into a new local directory.
The Git clone command will create a new local directory for the repository, copy all the contents of the specified repository, create the remote tracked branches, and checkout an initial branch locally. By default, Git clone will create a reference to the remote repository called origin.
How to Git Clone a Repository
To Git clone a repository navigate to your preferred repository hosting service like GitHub, select the repository you want to clone, copy the repository URL via HTTPS or SSH, type git clone
in the command line, paste the URL, and hit enter.
Cloning a repo allows you to make local changes to the repository before committing and pushing them to the remote repository.
This can be especially beneficial for beginner developers as cloning gives you a sandbox to experiment without affecting the original codebase (and angering your team members 😅). In this article, we’ll take an in-depth look at how to Git clone from the command line in GitKraken Desktop as well as from the GUI.
Git Clone Topics Covered
Git Remote Repository URL Protocols
How to Git Clone over HTTPS using the Command Line
How to Git Clone over SSH using GitKraken Desktop
How to Git Clone over HTTPS using GitKraken Desktop
Git clone with GitKraken Desktop Integrations
GitKraken Desktop Makes it Easier to Git Clone
Don’t risk compromising the security of your code. GitKraken Desktop allows secure connections to remote repositories – one less thing you have to worry about.
Git Remote Repository URL Protocols
The supported protocols for remote URLs in Git are SSH, Git, HTTP, and HTTPS.
Git SSH Remote Protocol
SSH stands for Secure Shell. Using Git SSH allows you to authenticate with a remote repository using a key.
Format of an SSH URL: ssh://{user}@{host}:{port}/path/to/repo.git or {user}@host:path/to/repo.git
To use Git SSH in the command line, you will need to generate a public and private SSH key, add the key to your SSH-agent, and add the public key to the remote hosting service.
Git Remote Protocol
The Git protocol is an unauthenticated method and should be used with caution.
Format of a Git URL: git://{host}:{port}/path/to/repo.git
HTTP(S) Remote Protocol
HTTP(S) stands for Hyper Text Transfer Protocol (Secure). Using HTTPS allows you to authenticate with the repository using username and password credentials.
Compared with HTTP, HTTPS is a more secure version.
Format of an HTTPS URL: https://{host}:{port}/path/to/repo.git
GitTip: Learn more about local Git repositories and remote repositories with our beginner Git tutorial video series.
Follow along with the upcoming examples of cloning in GitKraken Desktop and the command line using this GitHub practice repo.
How to Git Clone over HTTPS using the Command Line
In this example, we will go over the process of cloning a GitHub repository over HTTPS. To clone a Git repository, you will first copy the remote URL from your repository hosting service—in this case GitHub.
You will then use the Git clone command followed by the remote repo’s URL.
git clone <repository-url>
If you are working with a private repository, you will be prompted for your remote hosting service credentials.
After cloning, you can change directories (cd <path>) into the repository to begin working in it. There are many additional flags that can be used while cloning for things like naming the local directory, naming the remote, or checking out a branch.
How to Git clone over SSH using GitKraken Desktop
If you are using a URL to clone over SSH with GitKraken Desktop, you will first need to configure Git SSH in the Git client. GitKraken Desktop has a built-in SSH-agent that makes working with SSH keys, including GitHub SSH keys, very easy.
Your GitKraken Desktop SSH settings can be found under Preferences > SSH. Here, you can generate a new SSH key, point to an existing key, or use your local SSH-agent to manage SSH.
If this is your first time using SSH through GitKraken Desktop, you will need to add the SSH key to the remote hosting service—in this case, GitHub. You will simply copy the public key from GitKraken Desktop, and add it under the settings section of your hosting service.
After you have completed those steps, you will be able to simply provide the SSH URL to clone remote repositories with GitKraken Desktop.
For more information on working with SSH in GitKraken Desktop, see our Git SSH documentation. GitHub also has a great guide for how to work with SSH.
How to Git clone over HTTPS using GitKraken Desktop
If you’re using a URL to clone over HTTPS with GitKraken Desktop, you simply provide the remote URL when prompted to do so.
Here, you will also set the local path to clone and the local repository directory name.
Git Clone with GitKraken Desktop Integrations
GitKraken Desktop offers integrations for the following remote repository hosting services to make cloning, as well as many other actions, even easier:
As seen below, each hosting service integration you have connected to your GitKraken Desktop account will list all of the remote repositories available to clone.
HTTPS is the default remote protocol in GitKraken Desktop. After connecting to your remote repository hosting service, you will not be required to fill out your credentials while working over HTTPS as the integration uses OAuth or a PAT (Personal Access Token) to authenticate.
For each of these integrations, you can quickly create an SSH key or point to an existing one. Generating an SSH key will automatically add it to the hosting service, removing the need to manually copy it from one platform and add it to another.
You can manage your GitKraken Desktop integrations at any time by navigating to Preferences > Integrations. In this example, you can see GitKraken Desktop is creating a GitHub SSH key.
Alternatively, if you would like to point to an existing SSH key, you can add the public SSH key to the hosting service with a single click.
Put your new skills to the test and practice cloning a repository with GitKraken using this instructional GitHub repo.
Frequently Asked Questions
Q: How to Clone a Git Repository
A: If you want to clone an existing Git repository, navigate to the repo you want to clone on your preferred code hosting service like GitHub or GitLab and select clone with SSH or HTTPS.
Q: How to Clone Git
A: Git is a distributed version control software that allows you to track projects. It is unlikely that you will run into a situation where you would want to clone Git itself. Instead, using Git, you can Git clone a repository from a hosting service like GitHub, GitLab, and others via SSH or HTTPS. For more advanced cloning options like using git clone –shared, git clone –no checkout, and more, visit Git SCM.
GitKraken Desktop Makes it Easier to Git Clone
The more your Git portfolio grows, the harder it will be to manage your library of remote repos. The GitKraken Git client can help organize your remotes from multiple hosting services, giving you the ability to quickly find and clone the repo you need.