About cloning a repository
When you're working with a repository on GitHub, you might want to have it on your local machine to make it easier to work with. For example, to allow you to use your favorite editor, to add and remove files, or to fix conflicts. The process of copying the repository from GitHub to your local machine is called cloning (sometimes referred to on other version control systems as "checking out").
Cloning a repository pulls down a full copy of all the repository data that GitHub has at that point in time, including all versions of every file and folder for the project. At any point, you can push your changes to the remote repository on GitHub, or pull other people's changes from GitHub. For more information, see "Using common Git commands".
You can either clone your existing repository or, to contribute to a project, clone another person's existing repository. For more information, see "Creating a new repository".
Cloning a repository using the command line
-
On GitHub, navigate to the main page of the repository.
-
Above the list of files, click Code.

-
To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click .

-
Open TerminalTerminalGit Bash.
-
Change the current working directory to the location where you want the cloned directory.
-
Type
git clone, and then paste the URL you copied earlier.$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY -
Press Enter to create your local clone.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Cloning a repository to GitHub Desktop
-
On GitHub, navigate to the main page of the repository.
-
Above the list of files, click Code.

-
Click Open with GitHub Desktop to clone and open the repository with GitHub Desktop.

-
Follow the prompts in GitHub Desktop to complete the clone.
For more information, see "Cloning a repository from GitHub to GitHub Desktop."
Cloning an empty repository
An empty repository contains no files. It's often made if you don't initialize the repository with a README when creating it.
-
On GitHub, navigate to the main page of the repository.
-
To clone your repository using the command line using HTTPS, under "Quick setup", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click SSH, then click .

Alternatively, to clone your repository in Desktop, click Set up in Desktop and follow the prompts to complete the clone.

-
Open TerminalTerminalGit Bash.
-
Change the current working directory to the location where you want the cloned directory.
-
Type
git clone, and then paste the URL you copied earlier.$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY -
Press Enter to create your local clone.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Troubleshooting cloning errors
When cloning a repository it's possible that you might encounter some errors.
If you're unable to clone a repository, check that:
- You can connect using HTTPS. For more information, see "HTTPS cloning errors."
- You have permission to access the repository you want to clone. For more information, see "Error: Repository not found."
- The default branch you want to clone still exists. For more information, see have permission to access the repository you want to clone. For more information, see "Error: Remote HEAD refers to nonexistent ref, unable to checkout."

