关于Git与TFVC源代码控制有很多问题和答案,但目前没有答案涵盖将Git集成到我可以找到的Team Foundation Server / Service中。
我正在使用Visual Studio 2013使用各种语言(C#,C ++,PHP,Javascript,MySSQL)开始绿色牧场开发。将来会有一些iOS开发。我非常熟悉SVN,VSS和TFVC的源代码控制。但是,我从未使用过Git。我更喜欢TFS进行流程管理/敏捷开发......它并不完美,但它可以很好地集成到Visual Studio中。
所以,帮助我决定这两个系统......
我不是在这里寻找一本书,只是一些要点,也可能是那些使用过TFVC和Git的人的相关链接。
答案 0 :(得分:112)
使用VS 2013时TFS和Git在源代码管理方面有什么大的区别?
在我的情况下,唯一的好处是本地存储库(不是说那是微不足道的)和IoS开发支持吗?
不,还有更多,但它们通常是Git的高级场景。本地回购,离线支持和历史上的完全本地保真度非常强大,您可以通过Visual Studio获得开箱即用的功能。还有一些其他功能也很棒!从一个存储库转移到另一个存储库的能力非常强大。我建议您查找Pro Git book。 TFS中的Git只是另一个git服务器,它具有标准Git所具有的所有功能。
在合并之前重写历史记录的功能允许您删除或组合一些较小的更改集,以便历史记录更清晰,更易于作为人阅读。
Git是命令行界面的唯一缺点(有些人认为这不是缺点;-P)。
TFVC也有一个命令行,人们只是不使用它。对于那些想要使用Git并且从不比TFVC做得多的人来说,他们可能不会真的需要离开用户界面,但他们不会获得很多很酷的功能......
可能存在一些其他缺点,主要是因为它与人们习惯的不同。如果你没有花时间去学习做什么时git做什么,那么用脚射击自己并不难。像Rebase和Squash这样的东西非常强大并创造了一个非常干净的历史记录,但如果使用不当,它可能会让人们产生不能合并的问题。 TFS has the ability to put some security settings to take away the rights to make very stupid decisions on a git repository
Windows上Git用户的一个非常酷的附加组件是PoSHGit。它在Powershell命令行上提供了命令自动完成功能。
您是否体验过Git的VS 2013 GUI?这是否足以在没有命令行界面的情况下支持基本分支/合并?
它拥有基本操作所需的一切。但是你需要能够可视化不同的分支以了解正在发生的事情。由于Git服务器和本地存储只是Git,任何git客户端都可以帮助你。 SourceTree是一个选项。 Git for Windows客户端是另一个。
对于标准操作,签入,签出,合并,分支(或推送,拉取,提取,提交,合并)UI工作正常。
Git是否有详细的启动指南,显示Git与VS 2013一起使用? MS有一个视频用于将现有的Git repo集成到VS 2013中,但是我想从头开始使用Git和VS 2013?
从Git开始可以在很多地方使用......这些是几个选项:
其他好的读物:
还有一些值得安装的工具:
答案 1 :(得分:13)
清除一些与 TFS
一起使用的混淆混淆的术语Team Foundation Server(TFS)是一个应用程序生命周期管理工具,包含源版本控制系统(VCS)组件。
TFS 使用的 VCS 组件主要是 Team Foundation版本控制(TFVC)
所以,问题是 TFVC vs Git
(事实上, TFS 支持 Git 作为 VCS 选项。)
jessehouwing有一个很好的答案,详细介绍了这一点,所以请参考
至于选择使用哪个,在我看来 Git 获胜
答案 2 :(得分:4)
Git是命令行界面的唯一缺点(有些人认为这不是缺点;-P)。
如果您对命令行界面感到不舒服,Git可以使用多个GUI前端。 Git本身实际上包含名为gitk
的存储库浏览器GUI工具和git-gui
- git的GUI。然后是第三方应用,例如git-cola,TortoiseGit和others。