I've noticed a buzz word "we should use Git for TFS". My understanding is that Git is just DVCS.
TFS support everything from branching, labelling, merging, checking in, checking out, shelving, etc.
Could someone please help me understand under what scenarios should team use Git or TFS?
Apart from local repository and distributed, what other benefits can it provide to the team?
Does it have better support of branching and merging? From what I've seen developer can create new branches on his/her local repository, which I think should make more hard to manage branches.
Any suggestions will be good.
TFS support everything from branching, labelling, merging, checkin, checkout, shelve etc.
Those are features that any VCS (Version Control System) does support. Git supports those as well (shelve is called git stash
: see "what's the Git equivalent of TFS commands shelve/unshelve? cherry-pick?" and "git stash
equivalents in other revision control systems?").
As I explained in "In what ways is Mercurial better/worse than TFS?", TFS is a ALM (Application Lifecycle Management) tool, with tickets, reporting, project tracking and more), in addition of the simple VCS features.
See also "Which version control system should I use?", mentioned in "Git vs TFVC Source Control".
With offers like git-tf, you can integrate Git to TFS anyway.
VS2013 supports Git as well, although you need to tweak it to view the TFS work items.
Things start getting interesting if one could have Git as their source control with Team Foundation on the backend for ALM tools.
来源:https://stackoverflow.com/questions/24116983/benefits-of-git-vs-tfs