git-tf和git-tfs有什么区别?


76

最近,我真的对TFS感到厌烦。我听说隧道尽头有灯。显然,我可以使用git-tf或git-tfs,将我的代码视为由git管理,但能够将其推入/拉出中央TFS服务器。

我的主要问题是我不确定应该使用哪一种。微软正式支持git-tf,而git-tfs已经存在了很多年。这些之间有什么区别,我应该首先尝试哪个?


2
我为你感到。越早转储TFS越好。然后直接使用MSysGit进行命令行。不要理会其他任何事情。在过去的五年中,对我来说很好。
亚当·迪米特鲁克

6
@AdamDymitruk我和一个非常开放的团队一起工作,所以可能有一天发生,但是就目前而言,放弃它已经太昂贵了,因为我们在TFS中除了源代码还有很多其他东西
Earlz 2012年

Answers:


90

免责声明:我开始了这个git-tf项目,尽管没有我作为经常的贡献者,现在该项目已经非常有能力,但是您绝对应该认为我对此有强烈的偏见。(并且,假设您使用的是Windows,也许是意外的。)

两种工具之间有两个根本区别:

  • git-tfs是为Windows用户构建的,并基于.NET TFS SDK编写。TFS SDK将无法在Mono下运行,因此git-tfs不适合跨平台使用。

  • git-tf是为跨平台用户构建的,并基于Java TFS SDK编写。因此,它将在Java TFS SDK支持的任何位置(Windows,Mac,Linux,AIX,HP-UX,Solaris等) git-tf明确运行,以允许Xcode用户访问TFS。

当然,在Windows上,您可以使用任何一个。我并不一定要说一个比另一个更好。但是我会说:

  1. 最大的抱怨git-tfs是,它不能在Mac OS上运行。如果有一种制作git-tfs跨平台的方法,那么git-tf几乎可以肯定不存在。

  2. git-tfs更快的在某些情况下比git-tf。在最初的几次修订中,性能不是我们的首要任务,正确性才是。

  3. 因为git-tf具有广泛的平台支持矩阵,所以这意味着其功能必然受到限制。例如,没有UI。 git-tfs另一方面,具有一个checkintool将打开常规TFS Checkin对话框的命令。这在可视化您的更改方面可能特别有用。(如果我记得,您可以从那里打开适当的视觉差异,等等。)

  4. git-tf通过直接填充git存储库,将TFS对象直接下载到git对象数据库中来工作。 git-tfs通过在隐藏文件夹中创建TFS工作文件夹映射来工作,然后从中填充git存储库。这里有一个磁盘罚款,因此,如果您有大量的存储库,您可能会感觉到这种情况。

  5. git-tfs可以尝试将TFS分支映射到git分支。很多人会认为这是积极的git-tfs,尽管我不同意:git的分支模型(在存储库级别)和TFS的分支模型(在存储库中表示为文件夹)根本不同,以至于导致任何问题最简单的工作流程。但是您的里程可能会有所不同。

  6. git-tfs由社区积极开发。 git-tf还没有被社区采用。

我不想听起来像是我说git-tf的不好。不是。我认为这真的很好。但这可能不是您的最佳选择。


更新:git-tf已达到使用寿命。Microsoft不再维护或支持它。我们建议git-tfs您是否需要双向TFS <-> git解决方案。


2
因此,基本上在非Windows上使用git-tf,在Windows上使用git-tfs?
Earlz 2012年

9
看起来我将使用git-tfs。在任何情况下,我都不会在我的开发机器上安装Java。
ATL_DEV 2012年

一年后,这仍然是多少?
若昂里斯本

对于更大的存储库,git-tfs不会遇到git-tf的内存不足异常。git-tf的唯一论点是xplat。
Andrew Clear

既然.Net随处可见,也许是时候迁移您的了?:)
Mrchief 2014年

30

免责声明:我是git-tfs项目的开发人员

编辑:git-tf不再维护...

编辑:git-tfs不再处于主动维护状态

git-tfs中支持TFS分支(获取现有分支,创建分支,比使用TFS更容易地合并分支,...使用branch命令)。它大部分时间都可以工作,但不适用于复杂的TFVC分支工作流程...

看到:

git-tfs也许也是允许您从TFS(VC)迁移到TFS(Git),管理工作项(如果需要)或纯git仓库的唯一工具。

还有其他一些好的功能...

(它更活跃,也更受支持


6

对于任何发现此线程的人:

Git-TF在2013年之后未进行更新后,现已正式停产,现在明确建议Git-TFS作为替代方法。

Git-TF报废

Git-TF已达到使用寿命。它将没有进一步的更新,并且不再受Microsoft支持。

Microsoft Visual Studio Team Services现在提供了一个简单的导入工具,可以将Team Foundation版本控制存储库导入到Git存储库中。我们建议您使用它来将TFVC存储库转换为Git。

如果您需要更高级的转换需求,或者想要桥接TFVC存储库并使用本地Git存储库,我们建议使用git-tfs项目

Git-TF不应用于新项目,但它将保留在Codeplex存档中供旧用户使用。

(该部分的发起人兼接受答案的作者爱德华·汤姆森(Edward Thomson)在2017年4月将其添加到项目的Codeplex页面中)

Git-TFS似乎正在积极维护:https : //github.com/git-tfs/git-tfs/commits/master

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.