programmer21
programmer21

Reputation: 193

How can I implement a distributed version control (TFVC 2015) in the company?

I don't know whether here is the right place to ask this question or not, but I need to find the answer(Please aware where to ask). We are going to implement a distributed version control like TFVS2015 with default Git repository in the company.However before implementing the system on whole team,I have to run it on one server in order to test the service.I need to know:

Since I am very beginner in working with version controls any other share of suitable experiences would be great.Thanks for your help.

Upvotes: 0

Views: 107

Answers (2)

AnoE
AnoE

Reputation: 8345

Since I am very beginner in working with version controls any other share of suitable experiences would be great.

Let me be blunt, and please don't take it personal.

Why do you have the job to make design decisions like this, laying the foundations of a system which will influence every single developer for years in every way possible, when you describe yourself as a "very beginner" (I interpret this as meaning that you did never install nor even use a VCS yourself, except the most cursory "add/commit" operations)?

Now don't get me wrong, I was in similar situations as well, often enough, going through this process with CVS and later Subversion some 15 years ago (to my defense, git was not around back then) and later with Git: establishing the version control system (+procedures) for a team of developers, starting from scratch and knowing nothing.

To answer your question:

  • If you have any chance of finding someone who knows this stuff, go ask them to design your system for you.

Else:

  • Read the available documentation on the VCS(s) you want to evaluate. Skip "tutorials" or even Stackoverflow for now, but read the actual, official documentation. If this does not help you to decide, then it is a clear sign to stay clear of the VCS. If you simply don't understand it (even after pondering it long and earnest), it is a clear sign that you need help.
  • Find some nice play project.
  • Just do it. Create a repository on your private PC or on some test machine. It should not matter whatsoever at this point what kind of resources you use.
  • Play until you think that you have a good understanding. Checkout your stuff to different places and simulate working together with other people (branching, merging, conflict resolution etc.).
  • Meanwhile, be sure you get a very firm grasp about what branching and merging is (the abstract part that is the same for every VCS, as well as the technical implications for your special VCS). Think/read up about development workflows (what kind of branches/feature branches you want to use). Look for features that are maybe not available in every single VCS (for example, rebasing).
  • If/when you get a warm fuzzy feeling about the software and the general topic, then go and ask for details. If you go at it completely blank (and from your post I assume that is the case), pain and suffering will follow (at least for yourself, if not your co-workers).

Have fun & good luck. :)

Upvotes: 4

rerwinX
rerwinX

Reputation: 2035

How to design the topology in proper way?

TFS can be installed on premise or you can use the cloud-hosted version called Visual Studio Team Services.

VSTS is free for up to 5-users and if your developers have MSDN licenses then you already have everything you need or you can buy additional licenses.
There is no server administration or installation, upgrades or updates to apply and you always have access to the latest features.

If it was me, I'd go with VSTS.

What to install in server side?

If you want to install on-premise or cloud hosted VM to try it out then grab TFS 2015 Update 3 (this is the latest version)

Ben Day has a nice illustrated installation guide starting from scratch https://www.benday.com/2015/08/07/team-foundation-server-2015-tfs2015-installation-guide/

Official docs here https://www.visualstudio.com/en-us/docs/setup-admin/install-tfs/get-started

Assuming you team doesn't run into the 100's, a single server installation will be fine for now. You can always scale up at a later date.

What is needed in client side?

This depends on what you are developing. If you are using Visual Studio, then you should be good to go. You will add a server in the Team Explorer window and be able to pull and commit code. You might also want to install git, Team Explorer Everywhere (for Eclipse), Visual Studio Code.

Clients - https://msdn.microsoft.com/en-us/library/ms181304.aspx

Git command line - https://git-scm.com/downloads

Which host is better to use in the service?

Not sure i understand this but if you are talking about hosting TFS in the cloud then save yourself the hassle and sign up with VSTS. If you really want to use IaaS then I personally use Azure but any other service will do the trick.

Upvotes: 1

Related Questions