更新
自2013年以来发生了很多事情:
- Microsoft已向Team Foundation Server,Azure DevOps Server和Azure DevOps添加了ssh支持。
- Visual Studio 2019 16.8+带有完全重新设计的git客户端。
- Microsoft已将自己的内部产品从TFVC迁移到Git。Windows和Office源现在存储在Azure DevOps的Git中。
- Microsoft已经收购了GitHub,这是与DevOps相关的主要关注点,许多为Azure DevOps做出贡献的人都因此转移到了GitHub上。
- Git的虚拟文件系统和Git大文件系统解决了许多人留在TFVC的原因。
- Azure DevOps有一个内置的迁移工具,可以将(部分)TFVC历史记录转换为git仓库。
在这段时间里,TFVC几乎没有什么进展:
- YAML管道推出两年后仍未获得TFVC支持(我根本不指望这些)。
- Team Explorer在Visual Studio中现在被称为“传统”。
- TFVC已被声明为功能齐全。
- Eclipse和Visual Studio Code以及Linux / Mac的TFVC支持已正式弃用/终止。
很明显,Git胜利了。
使用VS 2013时,在源代码控制方面TFS和Git的主要区别是什么?
MSDN网站有一个非常详尽的页面介绍了Team Foundation Version Control和Git之间的所有特性和区别。
在我的情况下,唯一的好处是本地存储库(不是说这个不重要),以及对IOS开发的支持吗?
不,还有很多,但它们通常是Git的高级应用场景。本地库、离线支持以及对历史记录的完整本地保真度都非常强大,你可以通过Visual Studio直接使用这些功能。还有其他一些很棒的功能!从一个存储库分支和合并到另一个存储库的能力非常强大。我建议您查看Pro Git书籍了解更多信息。Git在TFS中只是另一个git服务器,几乎具有标准Git的所有功能。
在合并之前重写历史记录的能力使您可以删除或组合许多较小的更改集,使历史记录更清晰、更易于阅读。
Git的唯一缺点是命令行界面吗(有人会认为这不是缺点)?
TFVC有一个命令行界面,但人们很少使用它。对于那些想要使用Git并且从未做过TFVC更多操作的人们来说,他们可能不需要离开UI,尽管他们将无法获得许多酷功能...
可能还有一些其他缺点,主要是因为它与人们习惯的不同。如果您不花时间学习git在您执行操作时会发生什么事情,那么很容易自食其果。像Rebase和Squash之类的东西非常强大,并且可以创建非常干净的历史记录,但是如果使用不当,可能会留下合并失败的问题。TFS可以设置某些安全设置,以取消对Git存储库上做出非常愚蠢决定的权限。
针对Windows上的Git用户的一个非常酷的插件是PoSHGit。它提供了PowerShell命令行的命令自动完成。
您是否有使用VS 2013 GUI进行Git操作的经验?那是否足以支持基本的分支/合并而无需使用命令行界面?
对于基本操作,它拥有您所需的一切。但是,您需要能够可视化不同的分支以了解正在发生的情况。由于Git服务器和本地存储库只是Git,因此任何git客户端都可以在这里帮助您。SourceTree是一个选择,Git for Windows客户端是另一个选择。
对于标准操作(如Check-in、Check-out、Merge、Branch或Push、Pull、Fetch、Commit、Merge),UI可以正常工作。
是否有关于使用VS 2013展示Git的详细入门指南?微软有一个视频介绍如何将现有的Git存储库集成到VS 2013中,但我想要一个从头开始使用Git和VS 2013的指南。
使用Git的入门在许多地方都可以找到...以下是一些选项:
其他值得阅读的内容:
此外,以下是几个值得安装的工具:
- PoshGit:Windows PowerShell命令行提示工具,用于Git和PowerShell的无缝集成。
- SourceTree:可视化Git客户端,可帮助用户更轻松地使用Git并管理版本控制。
- Git Diff Margin:Visual Studio插件,可将Git源代码版本控制系统的差异与文本编辑器一起显示,以便更好地了解源代码文件中的更改。