我把Git介绍给了我的开发团队,除了我之外,每个人都讨厌它。他们想要取代 它与Team Foundation Server。我觉得这是一个巨大的倒退,尽管我不是很熟悉TFS。有经验的人能比较一下TFS和Git上的分支支持吗?另外,总的来说,TFS的优点和缺点是什么?之后我会讨厌它吗 使用Git几年?


当前回答

如果您的团队使用TFS,而您想使用Git,那么您可能需要考虑“Git到TFS”的桥接。从本质上讲,您每天都在计算机上使用Git工作,然后当您想要将更改推送到TFS服务器时,您可以将它们推送到TFS服务器。

有一些(在github上)。我在上一个地方(和另一个开发人员一起)使用了一个,并取得了一些成功。看到的:

https://github.com/spraints/git-tfs

https://github.com/git-tfs/git-tfs

其他回答

人们需要放下枪,离开窗台,思考一分钟。事实证明,DVCS有客观的、具体的、不可否认的优势,这将对团队的生产力产生巨大的影响。

这一切都归结为分支和合并。

在DVCS之前,指导原则是“向上帝祈祷,你不必涉足分支和合并。如果你这样做了,至少求他让它变得非常非常简单。”

现在,有了DVCS,分支(和合并)得到了很大的改进,指导原则是“立即完成”。它会给你带来很多好处,而且不会给你带来任何问题。”

这对于任何团队来说都是一个巨大的生产力助推器。

问题是,为了让人们理解我刚才说的,并相信这是真的,他们必须首先投入一点学习曲线。他们不需要学习Git或任何其他DVCS本身……他们只需要学习Git如何进行分支和合并。一遍又一遍地阅读一些文章和博客文章,慢慢来,直到你看到为止。那可能要花2到3天的时间。

但一旦你看到这一点,你甚至不会考虑选择非dvcs。因为DVCS确实有明确、客观、具体的优势,最大的优势在于分支和合并。

最重要的是(

https://stackoverflow.com/a/4416666/172109 https://stackoverflow.com/a/4894099/172109 https://stackoverflow.com/a/4415234/172109

), 这是正确的,TFS不仅仅是一个风险投资。TFS提供的一个主要特性是本机集成的错误跟踪功能。变更集与问题相关联,并且可以跟踪。支持各种签入策略,以及与Windows域的集成,这是运行TFS的人所拥有的。与Visual Studio紧密集成的GUI是另一个卖点,这吸引了鼠标和点击较少的开发人员及其经理。

因此,比较Git和TFS并不是一个合适的问题。正确的,尽管不切实际,问题是比较Git和TFS的VCS功能。在这一点上,Git将TFS踢出了水面。然而,任何严肃的团队都需要其他工具,这就是TFS提供的一站式目标。

如果您的团队使用TFS,而您想使用Git,那么您可能需要考虑“Git到TFS”的桥接。从本质上讲,您每天都在计算机上使用Git工作,然后当您想要将更改推送到TFS服务器时,您可以将它们推送到TFS服务器。

有一些(在github上)。我在上一个地方(和另一个开发人员一起)使用了一个,并取得了一些成功。看到的:

https://github.com/spraints/git-tfs

https://github.com/git-tfs/git-tfs

我想是声明

每个人都讨厌它,除了我

这就浪费了进一步的讨论:当你继续使用Git时,如果出现任何问题,他们都会责怪你。

除此之外,对我来说,Git比集中式VCS有两个优势,这是我最欣赏的(Rob Sobers部分描述过):

整个回购的自动备份:每次有人从中央回购中提取数据时,他/她都会获得完整的历史更改。当一个回购丢失时:别担心,在每个工作站都带上一个。 离线回购访问:当我在家里(或在飞机或火车上)工作时,我可以看到项目的完整历史,每一个签入,而不需要启动我的VPN连接来工作,并且可以像我在工作时一样工作:签入,签出,分支,任何事情。

但正如我所说:我认为您正在打一场失败的战斗:当每个人都讨厌Git时,就不要使用Git。这可以帮助你了解他们为什么讨厌Git,而不是试图说服他们。

如果他们只是因为这对他们来说是新事物而不想要它,并且不愿意学习新内容,那么你确定你能与这些员工一起成功开发游戏吗?

真的每个人都讨厌Git吗?还是他们受到了一些意见领袖的影响?找到领导,问他们问题出在哪里。说服他们,你就能说服团队的其他人。

如果你不能说服领导者:忘记使用Git,使用TFS。会让你的生活更轻松。

对我来说,主要的区别是TFS将添加到您的解决方案中的所有辅助文件(.vssscc)来“支持”TFS -我们最近遇到了这些文件最终映射到错误的分支的问题,这导致了一些有趣的调试…