none
Source code control

    Question

  • So far I just compressed and named with version# and date.

    I want to control or manage source code with any source code control tool.

    I know Microsoft provides TFS.

    Is that the best tool?

    My source code is VB6, C#, C++, VB.NET.

    Which tool is the best between TFS, Git or other...?

    Thursday, April 20, 2017 6:32 PM

Answers

  • Which tool is the best between TFS, Git or other...?

    Note that this is not "one or the other". TFS is able to provide a Git repository. I'd argue that using Git on TFS is a good solution that combines the best of both worlds. If you have a group of developers working on the same project, each developer can do his or her own branching and commits on the local PC even if it is not connected to the network, and then sync to the central repository in TFS when they are connected. All of this is supported from within Visual Studio, although you can also install and use the Git command line tools if you are familiar with them.
    • Proposed as answer by RohitArora Friday, April 21, 2017 8:26 AM
    • Marked as answer by Jeff0803 Friday, April 21, 2017 5:41 PM
    Thursday, April 20, 2017 9:03 PM
    Moderator
  • The TFS server offers *two* source code repositories: "traditional TFS" or "Git". Both repositories help multiple developers in a network environment and both provide version control. So using one or the other is a matter of personal preference; in fact, you can have at the same time some projects in one and some projects on the other. The features are not identical. For instance, Git provides better branching and merging, which can even be done offline (while TFS requires you to be connected to the server). On the other hand, integration with Visual Studio works better with TFS, Git is a bit flaky in that regard -- you sometimes get unexplained errors in Visual Studio that you have to fix from the Git command line.

    In addition to providing source code control, TFS provides "life cycle" tools such as project tracking, work items, backlog, kanban board, etc. These tools will work regardless of whether the source code is stored as Git or is stored as traditional TFS.

    • Marked as answer by Jeff0803 Saturday, June 17, 2017 12:14 AM
    Friday, April 21, 2017 6:52 PM
    Moderator

All replies

  • Which tool is the best between TFS, Git or other...?

    Note that this is not "one or the other". TFS is able to provide a Git repository. I'd argue that using Git on TFS is a good solution that combines the best of both worlds. If you have a group of developers working on the same project, each developer can do his or her own branching and commits on the local PC even if it is not connected to the network, and then sync to the central repository in TFS when they are connected. All of this is supported from within Visual Studio, although you can also install and use the Git command line tools if you are familiar with them.
    • Proposed as answer by RohitArora Friday, April 21, 2017 8:26 AM
    • Marked as answer by Jeff0803 Friday, April 21, 2017 5:41 PM
    Thursday, April 20, 2017 9:03 PM
    Moderator
  • If TFS and Git is not "one or the other", is the major role of TFS and Git different?

    May I understand that TFS helps multi developer in the network environment and Git help version control, is it correct?

    Friday, April 21, 2017 5:43 PM
  • The TFS server offers *two* source code repositories: "traditional TFS" or "Git". Both repositories help multiple developers in a network environment and both provide version control. So using one or the other is a matter of personal preference; in fact, you can have at the same time some projects in one and some projects on the other. The features are not identical. For instance, Git provides better branching and merging, which can even be done offline (while TFS requires you to be connected to the server). On the other hand, integration with Visual Studio works better with TFS, Git is a bit flaky in that regard -- you sometimes get unexplained errors in Visual Studio that you have to fix from the Git command line.

    In addition to providing source code control, TFS provides "life cycle" tools such as project tracking, work items, backlog, kanban board, etc. These tools will work regardless of whether the source code is stored as Git or is stored as traditional TFS.

    • Marked as answer by Jeff0803 Saturday, June 17, 2017 12:14 AM
    Friday, April 21, 2017 6:52 PM
    Moderator
  • Can I download TFS for free? otherwise purchase?


    Saturday, June 17, 2017 12:14 AM
  • Can I download TFS for free? otherwise purchase?



    TFS Express is free.
    Saturday, June 17, 2017 12:18 AM
  • Besides the free Express version, you can also use TFS online from VisualStudio.com. With this service, you don´t need to install your own server, it will run from the cloud. This is free for up to 5 developers working on the same project. Beyond 5, any additional developers need a paid account.
    Saturday, June 17, 2017 6:53 AM
    Moderator
  • So far I just compressed and named with version# and date.

    I want to control or manage source code with any source code control tool.

    I know Microsoft provides TFS.

    Is that the best tool?

    My source code is VB6, C#, C++, VB.NET.

    Which tool is the best between TFS, Git or other...?

    Git, no contest.

    However bear in mind that TFS now supports Git repositories (as opposed to the usual SVN) so you can use TFS and still leverage Git.

    However TFS (and VS Team Services) do not support the concept of a "fork" (which is supported by Github and Bitbucket).

    The "fork" concept is hugely useful for workflows that involve more than two or three developers, TFS can "simulate" a fork but this is contrived and not quite the same.

    So why not just go for Github (or if you need free and private Bitbucket)?

    Monday, June 19, 2017 6:58 PM