---
title: Version Control with TFS 2013 Git Repository
description: Version Control with TFS 2013 Git Repository
image: https://blogs.incyclesoftware.com/hs-fs/file-3472678310-png/blog-files/080313_0214_versioncont1.png
---

# Version Control with TFS 2013 Git Repository

Posted by Sahas Subramanian - August 02, 2013

- [**](https://www.facebook.com/sharer/sharer.php?u=https://blogs.incyclesoftware.com/2013/08/version-control-with-tfs-2013-git-repository/)
- [**](https://www.linkedin.com/shareArticle?mini=true&url=https://blogs.incyclesoftware.com/2013/08/version-control-with-tfs-2013-git-repository/&title=&summary=&source=)
- [**](https://twitter.com/home?status=)
- [**](mailto:?&subject=https://blogs.incyclesoftware.com/2013/08/version-control-with-tfs-2013-git-repository/&body=https://blogs.incyclesoftware.com/2013/08/version-control-with-tfs-2013-git-repository/)

**

![header-picture](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/woman-notebook-working-girl.png "header-picture")

 

For brief introduction to Git + VS ALM, spend a few minutes [here](http://incycle-corpweb.azurewebsites.net/2013/08/git-in-visual-studio-alm-world/).

Here is a simple developer workflow and we'll see how that works from within VS 2013 Preview

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678310-png/blog-files/080313_0214_versioncont1.png)

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678320-png/blog-files/080313_0214_versioncont2.png)

Above 4 steps will help cloning the repository to a local path. That's all, I don't need to be connected to the server until I'm ready to submit my changes

Within Team Explorer, Solutions tab will take us from here. Solutions tab will list the branch I'm on currently, all the solutions available and link to create a new solution.

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678330-png/blog-files/080313_0214_versioncont3.png)

 

Now, I've added some projects and files to version control for the first time..after moving those files into your physical directory.. If you navigate into "Changes" from Team Explorer, all those changes will appear in "Untracked Files"

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678340-png/blog-files/080313_0214_versioncont4.png)

By selecting "Add All", all these changes will be added and ready for Commit

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678350-png/blog-files/080313_0214_versioncont5.png)

If I switch back to Git Bash command line and run **git status**, I'll get the same result there too..

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678360-png/blog-files/080313_0214_versioncont6.png)

I can just provide comment and Commit the changes from VS

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678370-png/blog-files/080313_0214_versioncont7.png)

Now, as we do it for the first time, the whole branch needs to be "Published"

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678380-png/blog-files/080313_0214_versioncont8.png)

Next time onwards, if a file added or modified, you will commit the change and those changes are staged in Index.

This is equivalent to **git add **command

Now, from the staging area, I can push it to the centralized repository

In the picture below, my staging area has 2 changes accumulated and waiting to be Pushed

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678390-png/blog-files/080313_0214_versioncont9.png)

Each Commit has unique identified associated to it and at any point, user can view complete details related to that commit by selecting "View Commit Details"

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678400-png/blog-files/080313_0214_versioncont10.png)

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678410-png/blog-files/080313_0214_versioncont11.png)

Even, if I were to make changes to the same file, over and over, every single change will be tracked as separate Commit.. picture below shows that I'm changing the same file and staged then as separate commits

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678420-png/blog-files/080313_0214_versioncont12.png)

Whenever you are ready to Submit changes to the centralized repository, go online and click "Push"

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678430-png/blog-files/080313_0214_versioncont13.png)

To lookup historical changes, go to Branches within Team Explorer, right click on the branch and select "View Hisory"

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678440-png/blog-files/080313_0214_versioncont14.png)

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678450-png/blog-files/080313_0214_versioncont15.png)

With this version, VS will Push all the Commits and won't allow you to selectively Push..

If you have a need to perform selective push, command line is the choice.

Get the SHA hash from log and Push as shown below

$ **git log  
**

commit 7faa08faba0d62d308af1ec8e982a46ecc7b13a1

Author: Sahas_Incycle <sahas.subramanian@incyclesoftware.com>

Date: Fri Aug 2 16:05:08 2013 -0700

Changing BusinessImpact allowed values

$ **git push origin 7faa08faba0d62d308af1ec8e982a46ecc7b13a1:master  
**

Some of the other common usages are Branching and Merging.. by nature, Git's branching is super simple.. While creating a branch Git doesn't copy files, instead, Branch is a reference to a commit and history is extracted using commit relationships. Merge is never single click in any tool, but, Git makes it much easier experience

So, from VS, Team Explorer à Branches.

This will list all published branches, should match the result of **git branch –list. **

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678460-png/blog-files/080313_0214_versioncont16.png)

Merge is very straight forward too from VS.. from Team Explorer, select source and target branches to perform merge.. Merged content is Committed in the target branch where you need to review and Push..

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678470-png/blog-files/080313_0214_versioncont17.png)

Incase of conflicts, VS offers you merge conflict resolution options and then commit

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678480-png/blog-files/080313_0214_versioncont18.png)

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678490-png/blog-files/080313_0214_versioncont19.png)

![](https://blogs.incyclesoftware.com/hs-fs/file-3472678500-png/blog-files/080313_0214_versioncont20.png)

Merge brings in all the history from the source branch as shown below

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895412-png/blog-files/080313_0214_versioncont21.png)

Here is pretty good cross branch visualization from Source Tree

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895422-png/blog-files/080313_0214_versioncont22.png)

Server side Version control structure, history and much more options are available from the Web UI

1. Version control structure
2. History
3. Branches
4. Cloning that remote repo locally
5. Search by Commit Id

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895432-png/blog-files/080313_0214_versioncont23.png)

Below screen shows

1. History of a branch.. I got about 3 years data migrated from public SVN project and trust me the history loads in about 30 seconds
2. Advanced search options
3. Search by Commit Id

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895442-png/blog-files/080313_0214_versioncont24.png)

Below is the visualization of current state of the branches

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895452-png/blog-files/080313_0214_versioncont25.png)

Compare branches, look at the differences side by side…

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895462-png/blog-files/080313_0214_versioncont26.png)

 

![](https://blogs.incyclesoftware.com/hs-fs/file-3322895472-png/blog-files/080313_0214_versioncont27.png)

Hope you agree that VS 2013 has adequate Git integration to encourage Git fans and more to come.. Thanks for reading this article J

 Topics: [Blog](https://blogs.incyclesoftware.com/topic/blog)

---

### Recent Posts

By InCycle - 02 August, 2013

#### InCycle Wins Prestigious Microsoft Global Partner of the Year Award

[![read more](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/arrow-recent-blog-post.png "read more")](https://blogs.incyclesoftware.com/incycle-wins-prestigious-microsoft-global-partner-of-the-year-award)

By InCycle - 02 August, 2013

#### Top 5 Questions On Elevate for App Modernization

[![read more](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/arrow-recent-blog-post.png "read more")](https://blogs.incyclesoftware.com/top-five-questions-on-elevate-for-app-modernization)

By InCycle - 02 August, 2013

#### GitHub Universe 2025 Top Announcements

[![read more](https://cdn2.hubspot.net/hubfs/685080/IMG-TurboSodium/Sodium%20v2/blog/arrow-recent-blog-post.png "read more")](https://blogs.incyclesoftware.com/github-universe-2025-top-announcements)

---

### Subscribe to Blog

### ![2025 Microsoft Partner of the Year Winner: InCycle Software](https://blogs.incyclesoftware.com/hs-fs/hubfs/InCycle%202025%20Microsoft%20PoY%20Badge.png?width=377&height=223&name=InCycle%202025%20Microsoft%20PoY%20Badge.png)

### About this blog

Since 2002, InCycle has been providing challenging thought leadership to help customers successfully combine modern application designs, IT platforms and DevOps practices to achieve new levels of success. As a leader in app modernization, these blogs are written by our expert consultants and provide useful information to help on your journey to the cloud and better software. Happy reading!

### Platform Engineering Webinar on Demand

PE deep dive and demo!

[![Learn More!](https://no-cache.hubspot.com/cta/default/707613/aae0556f-2d26-4ce4-9b32-e7bebd443c9a.png)](https://cta-redirect.hubspot.com/cta/redirect/707613/aae0556f-2d26-4ce4-9b32-e7bebd443c9a)

### Recent Posts

### Migrating to GitHub?

Start with a GitHub Migration Strategy and Roadmap (at no cost!)

[![Learn More!](https://no-cache.hubspot.com/cta/default/707613/312dc03f-1f78-4907-aaaf-3c0aa3cccd8f.png)](https://cta-redirect.hubspot.com/cta/redirect/707613/312dc03f-1f78-4907-aaaf-3c0aa3cccd8f)

### Posts by Topic

- [Blog (194)](https://blogs.incyclesoftware.com/topic/blog)
- [Video (32)](https://blogs.incyclesoftware.com/topic/video)
- [Azure (25)](https://blogs.incyclesoftware.com/topic/azure)
- [DevOps (20)](https://blogs.incyclesoftware.com/topic/devops)
- [GitHub (13)](https://blogs.incyclesoftware.com/topic/github)
- [InRelease (12)](https://blogs.incyclesoftware.com/topic/inrelease)
- [Containers (11)](https://blogs.incyclesoftware.com/topic/containers)
- [release management (11)](https://blogs.incyclesoftware.com/topic/release-management)
- [AKS (10)](https://blogs.incyclesoftware.com/topic/aks)
- [CI/CD (10)](https://blogs.incyclesoftware.com/topic/ci-cd)
- [Kubernetes (10)](https://blogs.incyclesoftware.com/topic/kubernetes)
- [Azure DevOps (9)](https://blogs.incyclesoftware.com/topic/azure-devops)
- [Migration (9)](https://blogs.incyclesoftware.com/topic/migration)
- [Platform Engineering (PE) (9)](https://blogs.incyclesoftware.com/topic/platform-engineering-pe)
- [GenAI (8)](https://blogs.incyclesoftware.com/topic/genai)
- [Microsoft Azure (8)](https://blogs.incyclesoftware.com/topic/microsoft-azure)
- [Visual Studio (8)](https://blogs.incyclesoftware.com/topic/visual-studio)
- [tfs (8)](https://blogs.incyclesoftware.com/topic/tfs)
- [Awards (7)](https://blogs.incyclesoftware.com/topic/awards)
- [Big Data (6)](https://blogs.incyclesoftware.com/topic/big-data)
- [Innovation (6)](https://blogs.incyclesoftware.com/topic/innovation)
- [Microsoft (6)](https://blogs.incyclesoftware.com/topic/microsoft)
- [agile (6)](https://blogs.incyclesoftware.com/topic/agile)
- [vsts (6)](https://blogs.incyclesoftware.com/topic/vsts)
- [Data (5)](https://blogs.incyclesoftware.com/topic/data)
- [Modernization (5)](https://blogs.incyclesoftware.com/topic/modernization)
- [App Modernization (4)](https://blogs.incyclesoftware.com/topic/app-modernization)
- [Automated Testing (4)](https://blogs.incyclesoftware.com/topic/automated-testing)
- [Data & AI (4)](https://blogs.incyclesoftware.com/topic/data-ai)
- [Event (4)](https://blogs.incyclesoftware.com/topic/event)
- [MLOps (4)](https://blogs.incyclesoftware.com/topic/mlops)
- [Modern Apps (4)](https://blogs.incyclesoftware.com/topic/modern-apps)
- [Visual Studio 2017 (4)](https://blogs.incyclesoftware.com/topic/visual-studio-2017)
- [DevTest (3)](https://blogs.incyclesoftware.com/topic/devtest)
- [Events (3)](https://blogs.incyclesoftware.com/topic/events)
- [Governance (3)](https://blogs.incyclesoftware.com/topic/governance)
- [VSO (3)](https://blogs.incyclesoftware.com/topic/vso)
- [Data Analytics (2)](https://blogs.incyclesoftware.com/topic/data-analytics)
- [Docker (2)](https://blogs.incyclesoftware.com/topic/docker)
- [Integration (2)](https://blogs.incyclesoftware.com/topic/integration)
- [Microsoft Connect (2)](https://blogs.incyclesoftware.com/topic/microsoft-connect)
- [Mobile Development (2)](https://blogs.incyclesoftware.com/topic/mobile-development)
- [RM (2)](https://blogs.incyclesoftware.com/topic/rm)
- [SQL (2)](https://blogs.incyclesoftware.com/topic/sql)
- [SaaS (2)](https://blogs.incyclesoftware.com/topic/saas)
- [TFS 15 Preview (2)](https://blogs.incyclesoftware.com/topic/tfs-15-preview)
- [TFS 2017 (2)](https://blogs.incyclesoftware.com/topic/tfs-2017)
- [Uncategorized (2)](https://blogs.incyclesoftware.com/topic/uncategorized)
- [Visual Studio 2015 (2)](https://blogs.incyclesoftware.com/topic/visual-studio-2015)
- [Xamarin (2)](https://blogs.incyclesoftware.com/topic/xamarin)
- [ADX (1)](https://blogs.incyclesoftware.com/topic/adx)
- [AI (1)](https://blogs.incyclesoftware.com/topic/ai)
- [Android (1)](https://blogs.incyclesoftware.com/topic/android)
- [Application Monitoring (1)](https://blogs.incyclesoftware.com/topic/application-monitoring)
- [Apps (1)](https://blogs.incyclesoftware.com/topic/apps)
- [BI (1)](https://blogs.incyclesoftware.com/topic/bi)
- [Brian Harry (1)](https://blogs.incyclesoftware.com/topic/brian-harry)
- [Cloud Azure (1)](https://blogs.incyclesoftware.com/topic/cloud-azure)
- [Cloud Services (1)](https://blogs.incyclesoftware.com/topic/cloud-services)
- [Connect (1)](https://blogs.incyclesoftware.com/topic/connect)
- [Connect 2016 (1)](https://blogs.incyclesoftware.com/topic/connect-2016)
- [Consultants (1)](https://blogs.incyclesoftware.com/topic/consultants)
- [Cosmos DB (1)](https://blogs.incyclesoftware.com/topic/cosmos-db)
- [Data Center (1)](https://blogs.incyclesoftware.com/topic/data-center)
- [Development (1)](https://blogs.incyclesoftware.com/topic/development)
- [EA (1)](https://blogs.incyclesoftware.com/topic/ea)
- [Git (1)](https://blogs.incyclesoftware.com/topic/git)
- [Hybrid (1)](https://blogs.incyclesoftware.com/topic/hybrid)
- [IntelliTes (1)](https://blogs.incyclesoftware.com/topic/intellites)
- [IntelliTest (1)](https://blogs.incyclesoftware.com/topic/intellitest)
- [Lab Management (1)](https://blogs.incyclesoftware.com/topic/lab-management)
- [Live Unit Testing (1)](https://blogs.incyclesoftware.com/topic/live-unit-testing)
- [Load Testing (1)](https://blogs.incyclesoftware.com/topic/load-testing)
- [MSDN (1)](https://blogs.incyclesoftware.com/topic/msdn)
- [MSTest (1)](https://blogs.incyclesoftware.com/topic/mstest)
- [MTM (1)](https://blogs.incyclesoftware.com/topic/mtm)
- [Machine Learning (1)](https://blogs.incyclesoftware.com/topic/machine-learning)
- [Media & Entertainment (1)](https://blogs.incyclesoftware.com/topic/media-entertainment)
- [Microsoft Visual Studio (1)](https://blogs.incyclesoftware.com/topic/microsoft-visual-studio)
- [Microsoft nationally managed partner (1)](https://blogs.incyclesoftware.com/topic/microsoft-nationally-managed-partner)
- [NUnit (1)](https://blogs.incyclesoftware.com/topic/nunit)
- [OpsHub (1)](https://blogs.incyclesoftware.com/topic/opshub)
- [PaaS (1)](https://blogs.incyclesoftware.com/topic/paas)
- [Pipelines (1)](https://blogs.incyclesoftware.com/topic/pipelines)
- [PowerShell (1)](https://blogs.incyclesoftware.com/topic/powershell)
- [Principles and Practices of DevOps (1)](https://blogs.incyclesoftware.com/topic/principles-and-practices-of-devops)
- [Programs (1)](https://blogs.incyclesoftware.com/topic/programs)
- [RC (1)](https://blogs.incyclesoftware.com/topic/rc)
- [Release Candidate (1)](https://blogs.incyclesoftware.com/topic/release-candidate)
- [SQL Databases (1)](https://blogs.incyclesoftware.com/topic/sql-databases)
- [SQL server (1)](https://blogs.incyclesoftware.com/topic/sql-server)
- [SSDT (1)](https://blogs.incyclesoftware.com/topic/ssdt)
- [Software (1)](https://blogs.incyclesoftware.com/topic/software)
- [Subscription & Billing Management (1)](https://blogs.incyclesoftware.com/topic/subscription-billing-management)
- [TFS 15 (1)](https://blogs.incyclesoftware.com/topic/tfs-15)
- [TFS 2015 update (1)](https://blogs.incyclesoftware.com/topic/tfs-2015-update)
- [TFS 2016 (1)](https://blogs.incyclesoftware.com/topic/tfs-2016)
- [TFS ALM (1)](https://blogs.incyclesoftware.com/topic/tfs-alm)
- [TestMethods (1)](https://blogs.incyclesoftware.com/topic/testmethods)
- [UI (1)](https://blogs.incyclesoftware.com/topic/ui)
- [UX (1)](https://blogs.incyclesoftware.com/topic/ux)
- [VS2017 (1)](https://blogs.incyclesoftware.com/topic/vs2017)
- [Validation (1)](https://blogs.incyclesoftware.com/topic/validation)
- [Virtual Machines (1)](https://blogs.incyclesoftware.com/topic/virtual-machines)
- [WPC 2016 (1)](https://blogs.incyclesoftware.com/topic/wpc-2016)
- [Web (1)](https://blogs.incyclesoftware.com/topic/web)
- [Windows (1)](https://blogs.incyclesoftware.com/topic/windows)
- [World Partner Conference (1)](https://blogs.incyclesoftware.com/topic/world-partner-conference)
- [XUnit (1)](https://blogs.incyclesoftware.com/topic/xunit)
- [alm (1)](https://blogs.incyclesoftware.com/topic/alm)
- [automation (1)](https://blogs.incyclesoftware.com/topic/automation)
- [build (1)](https://blogs.incyclesoftware.com/topic/build)
- [code (1)](https://blogs.incyclesoftware.com/topic/code)
- [nationally managed partner (1)](https://blogs.incyclesoftware.com/topic/nationally-managed-partner)
- [sql server 2008 (1)](https://blogs.incyclesoftware.com/topic/sql-server-2008)
- [unit testing (1)](https://blogs.incyclesoftware.com/topic/unit-testing)
- [vm (1)](https://blogs.incyclesoftware.com/topic/vm)

[see all](https://blogs.incyclesoftware.com/2013/08/version-control-with-tfs-2013-git-repository/#)

### Blog Archive

- [November 2012 (17)](https://blogs.incyclesoftware.com/archive/2012/11)
- [September 2025 (14)](https://blogs.incyclesoftware.com/archive/2025/09)
- [October 2014 (12)](https://blogs.incyclesoftware.com/archive/2014/10)
- [July 2012 (10)](https://blogs.incyclesoftware.com/archive/2012/07)
- [October 2012 (9)](https://blogs.incyclesoftware.com/archive/2012/10)

- [**](https://twitter.com/incyclesoftware?lang=en)
- [**](https://ca.linkedin.com/company/incycle-software)
- [**](https://www.facebook.com/InCycleSoftware/)

### About us

At InCycle, we believe there is always a better way and today, that includes the cloud.

[![InCycle Microsoft Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/Incycle%202017%20website%20resources/logo-InCycle-New-white.png?width=200&name=logo-InCycle-New-white.png "InCycle Microsoft Partner")](https://www.incyclesoftware.com/)

### Learn more

- [Why Incycle?](https://www.incyclesoftware.com/why-incycle)
- [Success Stories](https://www.incyclesoftware.com/customer-success-stories)
- [Events](https://www.incyclesoftware.com/events)
- [Careers](https://www.incyclesoftware.com/careers)
- [About](https://www.incyclesoftware.com/about-incycle-software)

 

### 1-800-565-0510 [info@incyclesoftware.com](mailto:info@incyclesoftware.com) 

### ![Microsoft GitHub Verified Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/GitHub%20Verified%20Partner%20-%20white-SQUARE.png?width=256&height=57&name=GitHub%20Verified%20Partner%20-%20white-SQUARE.png) ![Data & AI Solutions Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/Data%20%26%20AI%20Solutions%20Partner.png?width=125&height=144&name=Data%20%26%20AI%20Solutions%20Partner.png) ![Digital & App Innovation Solutions Partner](https://blogs.incyclesoftware.com/hs-fs/hubfs/Digital%20%26%20App%20Innovation%20Solutions%20Partner.png?width=125&height=144&name=Digital%20%26%20App%20Innovation%20Solutions%20Partner.png)

 

© 2025 InCycle Software

[Privacy policy](https://www.incyclesoftware.com/privacy)

**

![](https://px.ads.linkedin.com/collect/?pid=302756&fmt=gif) ![](https://px.ads.linkedin.com/collect/?pid=302756&fmt=gif)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Sahas Subramanian",
    "url" : "https://blogs.incyclesoftware.com/author/sahas-subramanian"
  },
  "datePublished" : "2013-08-02T22:11:18.000Z",
  "headline" : "Version Control with TFS 2013 Git Repository",
  "image" : [ "https://blogs.incyclesoftware.com/hs-fs/file-3472678310-png/blog-files/080313_0214_versioncont1.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blogs.incyclesoftware.com/2013/08/version-control-with-tfs-2013-git-repository/",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blogs.incyclesoftware.com/hubfs/logo-InCycle-New-Blue---transparent.png"
    },
    "name" : "InCycle Software Inc."
  }
}
```