-1

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:-

  • 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.
  • do they require license other than the license for the visual studio professional which I already have?
  • Now when I install either Git or TFS. What will be the high level architecture ? I mean will this be the development architecture:-

    • Each developer will have VS installed inside his/her machine.

    • But the actual project files will be inside the dev server (where the Git or TFS is installed )?

    • Developer using their VS will check-in , check out the project files from their machines? Thanks in advance for any help. Regards

  • 2
    Hi, I suggest you look into the documentation on VisualStudio.com for the answers to most of these, this question is too broad for stackoverflow's format. Do note that the git support in VisualStudio 2012 is very minimal compared to what's in 2015 today. – DaveShaw Sep 27 '16 at 12:21
  • @DaveShaw so if I want to keep using VS 2012 , so what should I consider ? TFS ? –  Sep 27 '16 at 14:07
  • 1
    If you don't have an upgrade path from Vs2012, I'd use TFS with TFVC (Team Foundation Version Control) instead of GIT, because you seem to be starting out with VC and TFVC is gentler and more integrated into VS. – DaveShaw Sep 27 '16 at 15:26
  • 1
    In addition to the other issues with this post, please note that Git is not an acronym, so the correct capitalization is "Git", not "GIT". – Scott Weldon Sep 27 '16 at 16:56
  • @ScottWeldon thanks for the info , I updated my question accordingly. but can you please advice on my question ? –  Sep 27 '16 at 17:16
  • @DaveShaw now I do not want to upgrade from VS 2012 , because I already have many web applications created using VS 2012 , so I do not want theme to have problems when I upgrade my VS 2012... but can you please advice more on my above three points ?thanks –  Sep 27 '16 at 17:18
  • As @DaveShaw mentioned, this question is still too broad for Stack Overflow. I recommend you search for an [introduction to version control](//lmddgtfy.net/?q=introduction%20to%20version%20control) or maybe an [introduction to Git](//lmddgtfy.net/?q=introduction%20to%20git). – Scott Weldon Sep 27 '16 at 17:26

1 Answers1

1

TFS and VSTS have Git and TFVC version control systems, so you can use either Git or TFVC version control system to manage your projects.

The main difference of them:

Git is a distributed version control system, each developer has a copy of the source repository on their dev machine. Developers can commit each set of changes on their dev machine and perform version control operations such as history and compare without a network connection. Branches are lightweight. When you need to switch contexts, you can create a private local branch. You can quickly switch from one branch to another to pivot among different variations of your codebase. Later, you can merge, publish, or dispose of the branch.

Team Foundation Version Control (TFVC) is a centralized version control system. Typically, team members have only one version of each file on their dev machines. Historical data is maintained only on the server. Branches are path-based and created on the server.

TFVC has two workflow models:

  • Server workspaces: Before making changes, team members publicly check out files. Most operations require developers to be connected to the server. This system facilitates locking work flows. Other systems that work this way include Visual Source Safe, Perforce, and CVS.

    Local workspaces: Each team member takes a copy of the latest version of the codebase with them and works offline as needed. Developers check in their changes and resolve conflicts as necessary. Another system that works this way is Subversion.

More information, you can refer to this article.

You also can check this thread.

Check-in, check-out or other actions:

With TFS/VSTS version control systems, the files are in the server and developers can check-in, check-out or other actions through Visual Studio, TF command line or Git command line (for git).

License:

For on-premises TFS, you need to install it on your machine and license is needed, you can get more information from here.

For Visual Studio Team Services, you just need to register a account and 5 users for free, more information, refer to this article.

Community
  • 1
  • 1
starian chen-MSFT
  • 33,174
  • 2
  • 29
  • 53
  • thanks for your intensive reply and info.. but if we want to compare based on the face that we are still want to use VS 2012 ? so is there any preferences of using TFS over Git? as I read some articles which says that in Vs 2012 Git support is minimal... –  Sep 28 '16 at 15:06
  • @John VS 2012 isn't support Git, you can use TFVC version control system. – starian chen-MSFT Sep 29 '16 at 01:41