使用Visual Studio 2013时,TFS和Git在源代码pipe理上有什么大的区别?

关于Git与TFVC源代码pipe理有很多问题和答案,但是由于Git与Team Foundation Server / Service的集成,我没有find当前的答案。

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

所以,为了帮助我在这两个系统之间做出决定

使用Visual Studio 2013时,TFS和Git在源代码pipe理上有什么大的区别?

  • 在我的情况下,唯一的好处是本地存储库(不是说这是微不足道的)和iOS开发支持?
  • Git的命令行界面唯一的缺点(有人会认为这不是一个缺点; -P)。
  • 你有没有在Git的Visual Studio 2013graphics用户界面经验? 这足以支持没有命令行界面的基本分支/合并?
  • 有没有Git的详细启动指南,显示Git与Visual Studio 2013一起使用? 微软有一个将现有的Git仓库整合到Visual Studio 2013中的video,但是我正在从头开始寻找Git和VS 2013。

我不在这里寻找一本书,但只是几个要点,也许从使用TFS和Git的人的一些相关的链接。

使用VS 2013时,TFS和Git在源代码pipe理上有什么很大的区别?

MSDN 在Team Foundation版本控制和Git的所有function和差异方面都有非常广泛的一页 。

在我的情况下,唯一的好处是本地存储库(不是说这是微不足道的)和IoS开发支持?

不,还有更多,但它们往往是Git的高级场景。 本地回放,离线支持和完整的本地保真历史是非常强大的,你可以用Visual Studio开箱即用。 还有其他一些function也很棒! 从一个存储库到另一个存储库的分支和合并function非常强大。 我build议你看看那些Pro Git书 。 TFS中的Git只是另一个Git服务器,它几乎具有标准Git所具有的所有function。

合并之前重写历史logging的function允许您删除或组合多个较小的变更集,以便历史更清晰,更易于阅读。

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

TFVC也有一个命令行,人们只是不使用它。 对于想要使用Git的人而言,他们从来没有做过比TFVC更多的工作,他们可能不会真的需要离开UI,但他们不会得到很多很酷的function。

可能还有一些其他的缺点,主要是因为它与人们习惯的不同。 如果你不花时间去学习做什么的话,那么在脚下开枪并不难。 像Rebase和Squash这样的东西真的很强大,并且创build了一个非常清晰的历史logging,但是如果使用不正确,它可能会让人们不能再合并。 TFS能够放置一些安全设置来取消在git存储库上做出非常愚蠢的决定的权利 。

对于Windows上的Git用户来说,一个非常酷的插件就是PoSHGit 。 它在Powershell命令行上提供命令自动完成function。

你有没有在VS 2013的Git经验? 这足以支持没有命令行界面的基本分支/合并?

它拥有基本操作所需的一切。 但是,您需要能够将不同的分支可视化,以了解发生了什么事情。 由于Git服务器和本地回购只是Git,任何git客户端可以帮助你在这里。 SourceTree是一个选项。 Git for Windows客户端是另一个。

对于标准操作,检入,检出,合并,分支(或推,拉,取,提交,合并)UI工作得很好。

有没有Git的详细启动指南,显示Git与VS 2013一起使用? MS有一个video可以将现有的Git仓库整合到VS 2013中,但是我正在寻找一个从Git和VS 2013开始的开始?

从Git开始有很多地方可用…这些是一些选项:

  • MSDN文档:使用Visual Studio与Git
  • MSDN博客:Git入门
  • Brian Keller VM有一个动手实验室 。
  • Microsoft Virtual Academy: 在Visual Studio 2013中使用Git Jump Start
  • Pluralsight: Visual Studio开发人员的Git

其他好的内容:

  • MSDN文档:Git与TFVC总结
  • Syncfusion:Git简洁
  • 将Visual Studio合并工具设置为Git的默认工具
  • 在Visual Studio中使用PoshGit
  • Apress:Pro Git
  • ALM Ranger Git为TFVC用户提供指导。

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

  • PoshGit
  • SourceTree
  • Git Diff Margin

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

如果您对命令行界面感到不舒服,Git有多个GUI前端可用。 Git本身实际上包含了名为gitkgit-gui仓库浏览器GUI工具 – 一个git的GUI。 然后有第三方应用程序,如git-cola , TortoiseGit 等 。