Clone an existing Git repo

Last Update: 1/23/2017
Team Services | TFS 2015 & TFS 2017 | Visual Studio 2015 & 2017

Create a complete local copy of an existing Git repo using by cloning it. Cloning a repo downloads all commits and branches in the repo and sets up a named relationship with the existing repo you cloned. Use this relationship to interact with the existing repo, pushing and pulling changes to share code with your team.

NOTE

By default, Git will assign the origin to the remote repo you clone from. Most users don't need more than one remote, so the tutorial uses origin in its steps. Learn more about setting up remotes to your Git repo.

Video tutorial

TIP

Working from the command line? You can view our video overview using command line steps on Channel9.

Get the clone URL to your repo

Before you can clone an existing repo, you'll need a URL that points to the existing repo. This URL represents the source of the repo you're going to copy during the clone.

If you're using Team Services or Team Foundation Server 2017, you can find this clone URL in the web interface. When viewing your repo from the Code tab in the interface, select Clone in the upper right.

Get a clone a URL from Team Services

If you need to clone a GitHub repo, you'll need to get the clone URL from the Clone or download button while viewing the repo on the web in GitHub.

Other Git providers have similar buttons in their user interface to get the clone URL.

Copy this URL into the clipboard or store it in a place where you can find it easily. You can't clone a repo without a clone URL.

Clone a repo

Team Services | TFS 2015 & 2017 | Visual Studio 2015 & 2017

Clone from Visual Studio Team Services / Team Foundation Server

  1. Open Team Explorer (go to View and select Team Explorer or use the Ctrl+\, Ctrl+M hotkey sequence) and open the Connect view. Go to Projects, then Manage Connections if you don't see the Connect view.
  2. Select Connect... under Hosted Service Providers. Connecting to Visual Studio Team Services Choose your team's account from the drop-down in the dialog that appears and select which Team Projects to connect to Team Explorer. Select Connect.
  3. Clone the repository in one of the Team Projects by right-clicking the project and selecting Clone....
  4. Enter the folder where Git will store the local repository in the Local Git Repositories section.
  5. Select Clone to clone your repo.

    Cloning a Visual Studio Team Services Repository in Visual Studio


Clone from another Git provider

If you are not using Team Services, you can still clone your repo in Team Explorer and work with your code in Visual Studio.

  1. In Team Explorer, open the Connect view.
  2. Select Clone under Local Git Repositories and enter the URL for your Git repo—this will be provided by your team or Git hosting provider.
  3. Select a folder where you want your cloned repo to be kept.
  4. Select Clone to clone the repo.

    Clone your repo from other providers using Visual Studio


Open a solution in Visual Studio from a cloned repo

Open a solution in a cloned repo in Visual Studio by right-clicking on the repository in the Team Explorer Connect view and selecting Open. You'll be taken to the Home view in Team Explorer. Double-click your project solution file in the Solutions area to open the solution in Solution Explorer.

Open a solution from a cloned repo in Team Explorer

Make sure you have installed the Git command line package for your platform as well as the right Git Credential Manager before continuing.

You'll need a clone URL to tell Git what repository you want to clone to your computer. Use the URL you copied earlier during the previous step in this article.

Pass this clone URL to git clone to make a local copy of the repo:

> git clone https://fabrikam.visualstudio.com/DefaultCollection/_git/Fabrikam
Cloning into FabrikamFiber Receiving objects: 100% (65027/65027), 104.12 MiB | 6.42 MiB/s, done. Resolving deltas: 100% (19707/19707), done.

This clones the repository from the URL in a folder under the current one. You can pass in a folder name after the URL to create the repo in a specific location, for example:

> git clone https://fabrikam.visualstudio.com/DefaultCollection/_git/Fabrikam C:\Repos\FabrikamFiber

What's next

Save work with commits