title: Using Git Vs team foundation service to manage my visual studio source code and versioning
body: <p>I am using visual studio 2012 professional, to code many web applications especially asp.net mvc. Now I have my visual studio installed inside my dev machine. So when I want to do my development work I login remotely to my Dev machine, open Vs and do the work. And I manually manage my versioning by copying the project folder, before implementing any new change. So I can revert back to my project before hvin the new features implemented.
  Now I want to have a more reliable approach and an approach which allow many developers to work on the same project.
  I have read many tools which aid me in managing my project source code and versioning mainly Git and TFS, but as this area is new to me so can anyone advice on these points please:-</p>
  
  <ul>
  <li>What are the main differences between Git and TFS ? keeping in mind that I would still be using VS 2012 professional to do the actual development work.</li>
  <li>do they require license other than the license for the visual studio professional which I already have?</li>
  <li><p>Now when I install either Git or TFS. What will be the high level architecture ? I mean will this be the development architecture:-</p>
  
  <ul>
  <li><p>Each developer will have VS installed inside his/her machine.</p></li>
  <li><p>But the actual project files will be inside the dev server (where the Git or TFS is installed )?</p></li>
  <li><p>Developer using their VS will check-in , check out the project files from their machines?
  Thanks in advance for any help.
  Regards</p></li>
  </ul></li>
  </ul>