使用Visual Studio 2013时,TFVC(TFS版本控制)和Git之间的源控制有什么大的区别?

时间:2013-11-20 21:46:32

标签: git visual-studio tfs azure-devops tfvc

关于Git与TFVC源代码控制有很多问题和答案,但目前没有答案涵盖将Git集成到我可以找到的Team Foundation Server / Service中。

我正在使用Visual Studio 2013使用各种语言(C#,C ++,PHP,Javascript,MySSQL)开始绿色牧场开发。将来会有一些iOS开发。我非常熟悉SVN,VSS和TFVC的源代码控制。但是,我从未使用过Git。我更喜欢TFS进行流程管理/敏捷开发......它并不完美,但它可以很好地集成到Visual Studio中。

所以,帮助我决定这两个系统......

使用Visual Studio 2013时,TFVC和Git在源代码控制方面有什么大的区别?

  • 在我的情况下,唯一的好处是本地存储库(不是说它无关紧要)和iOS开发支持吗?
  • Git是命令行界面的唯一缺点(有些人认为这不是缺点;-P)。
  • 您是否有过Git Visual Studio 2013 GUI的经验?这是否足以在没有命令行界面的情况下支持基本分支/合并?
  • Git是否有详细的启动指南,显示Git与Visual Studio 2013一起使用?微软有一个视频用于将现有的Git存储库集成到Visual Studio 2013中,但我正在寻找从头开始使用Git和VS 2013。

我不是在这里寻找一本书,只是一些要点,也可能是那些使用过TFVC和Git的人的相关链接。

3 个答案:

答案 0 :(得分:112)

  

使用VS 2013时TFS和Git在源代码管理方面有什么大的区别?

MSDN有very extensive page on all the features and differences between Team Foundation Version Control and 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 选项。)

所以,问题是:TFVC vs Git

jessehouwing有一个很好的答案,详细介绍了这一点,所以请参考

至于选择使用哪个,在我看来 Git 获胜

  1. 重量轻:设置简单并开始使用。
  2. 它的分布式性质意味着它对灾难非常有弹性,有人会永远拥有回购的副本。
  3. 离线工作很简单,您正在使用自己的完整存储库。您可以提交更改,还原,浏览历史记录等。只有在希望与远程存储库同步时才需要联机。
  4. 在TFS中,没有简单的方法来保存更改的状态(文件添加,修改,文件删除),并切换到另一种代码状态。 (例如,处理两个功能并来回切换)。在git中,您只需签出一个不同的分支。

答案 2 :(得分:4)

  

Git是命令行界面的唯一缺点(有些人认为这不是缺点;-P)。

如果您对命令行界面感到不舒服,Git可以使用多个GUI前端。 Git本身实际上包含名为gitk的存储库浏览器GUI工具和git-gui - git的GUI。然后是第三方应用,例如git-colaTortoiseGitothers