我使用Visual Studio 2013 Team Edition,我正在使用的当前项目是使用传统的基于服务器的TFS存储库进行源代码控制。我知道git在Windows上的GUI集成已经突飞猛进,我正在使用TFS 2013,因此有正式的Visual Studio集成git,但从纯粹的源代码控制角度来看,我想知道为什么我应该使用git而不是传统的TFS设置,特别是如果团队更习惯于传统的TFS。那么,git相对于传统TFS设置有哪些优缺点?请记住,TFS具有搁置功能,我不认为SVN会这样做。
答案 0 :(得分:0)
首先,TFS正赶上git,截至去年,TFS正式与git兼容。 Git是一种完全不同的版本控制方法。 repo是分布式的,而不是像TFS一样集中式。这给了Git巨大的优势,例如:
1-离线编辑: 在TFS中,代码用于住在一个地方,一个地方,服务器。我读到2年前引入了一种新的TFS模型,它允许本地工作空间。我没有尝试过,所以我可以谈论它。但就像传统的TFS模型一样。使用TFS进行离线编辑非常困难。对于经验丰富的团队来说,这可以变成一种优势。但对于大多数开发人员来说,这是一种痛苦。
2-附加备份解决方案: 从远程仓库获取拉动的每个开发人员都将拥有一个repo的完整副本,如果出现错误并且原始备份解决方案无法及时可访问,您可以使用它来恢复仓库。我并不是说你应该将它用作备份解决方案,但是如果你需要它就可以使用它。
3-更容易分支和合并: 同样,TFS也在这个领域赶上了Git。但这是一个巨大的问题,导致人们为Git离开TFS。
4-与任何工具兼容: TFS非常适合Windows上的Visual Studio。否则,这是一种痛苦。 Git没有这些限制。
5-社区: 有许多支持或专门为git制作的平台和应用程序。我最近开始在Mac上开发。我以前在Linux中使用的gui Git应用程序在Mac上不可用。我仍然有很多选择可供选择,我真的很感激。当我需要展示进展或解释当前的工作动态时,gui对我很重要。我的IDE具有Git支持,可以使用它以快速方便的方式查看和比较文件版本。当我需要远程ssh到我的机器或其他机器时,命令行工具将始终存在。像GitHub和BitBucket这样的平台以及许多其他平台使得资源有限的开发人员和企业可以轻松地对其项目进行版本控制。使用TFS,您的选择非常有限。
但是,正如我所提到的那样。 TFS,已经大大改善。最后,它们是版本控制工具。所以,如果您拥有的是为您工作,那么您就不需要切换。 Git曾经比TFS更轻松,更高效。现在,这取决于团队。
我的建议,如果你想使用TFS 2013切换启动git repo。你可以获得Git的好处,并且仍然可以使用TFS。