更新
自 2013 年以来,发生了很多事情:
- Microsoft 已为 Team Foundation Server、Azure DevOps Server 和 Azure DevOps 添加了 ssh 支持。
- Visual Studio 2019 16.8+ 附带一个完全改进的 git 客户端。
- 微软已经将自己的内部产品从 TFVC 中移除。Windows 和 Office 源现在位于 Azure DevOps 的 Git 中。
- 微软已经收购了 GitHub,它现在是 DevOps 相关产品的主要关注点,许多为 Azure DevOps 做出贡献的人因此转移到了 GitHub。
- Git 和 Git 大型文件系统的虚拟文件系统解决了人们留在 TFVC 上的许多原因。
- Azure DevOps 有一个内置的迁移工具,可以将你的 TFVC 历史(部分)转换为 git 存储库。
在这段时间里,TFVC 几乎没有发生什么:
- YAML 管道在引入 2 年后尚未获得 TFVC 支持(我根本没想到这些)。
- 团队资源管理器现在在 Visual Studio 中称为“旧版”
- TFVC 已宣布功能完成
- 对 Eclipse 和 Visual Studio Code 和 Linux/Mac 的 TFVC 支持已正式弃用/终止。
很明显谁赢了:Git。
使用 VS 2013 时,TFS 和 Git 用于源代码控制的最大区别是什么?
MSDN 有一个非常广泛的页面,介绍了 Team Foundation 版本控制和 Git 之间的所有功能和差异。
就我而言,唯一的好处是本地存储库(并不是说这无关紧要)和 IoS 开发支持吗?
不,还有更多,但它们通常是 Git 的高级场景。本地回购、离线支持和对历史的完全本地保真度非常强大,您可以使用 Visual Studio 开箱即用。还有一些其他功能也很棒!从一个存储库分支和合并到另一个存储库的能力非常强大。我建议你查阅 Pro Git 书籍。TFS 中的 Git 只是另一个 git 服务器,它几乎具有标准 Git 的所有功能。
在合并之前重写历史记录的能力允许您删除或合并许多较小的更改集,从而使历史记录更清晰,更易于人类阅读。
命令行界面是 Git 的唯一缺点(有些人认为这不是缺点;-P)。
TFVC 也有命令行,只是人们不使用它。对于那些想要使用 Git 并且永远不会比 TFVC 做更多事情的人来说,他们可能真的不需要离开 UI,虽然他们不会获得很多很酷的功能......
可能还有其他一些缺点,主要是因为它与人们习惯的不同。如果你不花时间去了解 git 在做事时做了什么,那么你就不会太难了。像 Rebase 和 Squash 这样的东西确实很强大,并且创建了一个非常干净的历史记录,但是如果使用不当,它会给人们留下无法再合并的问题。TFS 有能力放置一些安全设置来剥夺在 git 存储库上做出非常愚蠢的决定的权利。
对于 Windows 上的 Git 用户来说,一个非常酷的插件是PoSHGit。它在 Powershell 命令行上提供命令自动完成功能。
你体验过 VS 2013 GUI for Git 吗?这足以支持没有命令行界面的基本分支/合并吗?
它拥有基本操作所需的一切。但是您确实需要能够可视化不同的分支以了解正在发生的事情。由于 Git 服务器和本地 repo 只是 Git,因此任何 git 客户端都可以在这里为您提供帮助。SourceTree 是这里的一个选项。Git for Windows 客户端是另一个。
对于标准操作,签入、签出、合并、分支(或推送、拉取、获取、提交、合并),UI 工作得很好。
是否有详细的 Git 启动指南显示 Git 与 VS 2013 一起使用?MS 有一个将现有 Git 存储库集成到 VS 2013 的视频,但我正在寻找从头开始使用 Git 和 VS 2013?
从 Git 开始在很多地方都可以使用......这些是一些选项:
其他好读物:
还有一些值得安装的工具: