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

问题描述 投票:97回答:3

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

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

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

What are the big differences between TFVC and Git for source control when using Visual Studio 2013?

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

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

git visual-studio tfs azure-devops tfvc
3个回答
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开始可以在很多地方使用......这些是几个选项:

其他好的读物:

还有一些值得安装的工具:


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中,您只需签出一个不同的分支。

4
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.