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

时间:2012-10-12 20:44:02

标签: git tfs tfvc git-tfs git-tf

我最近厌倦了TFS。我听说隧道尽头有一盏灯。显然我可以使用git-tf或git-tfs来处理我的代码,好像它是由git管理的,但能够推送/拉出中央TFS服务器。

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

3 个答案:

答案 0 :(得分:85)

免责声明:我started the git-tf project虽然项目现在处于非常有能力的手中而没有我作为经常的贡献者,但你绝对应该认为我对此的看法是强烈有偏见。 (并且,假设您使用的是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。 / p>

在Windows上,当然,您也可以使用其中之一。我不一定会说一个比另一个好。但我会说:

  1. 关于git-tfs的最大抱怨是它无法在Mac OS上运行。如果有办法让git-tfs跨平台,那么git-tf几乎肯定不会存在。

  2. 在某些情况下,
  3. git-tfs 更快而不是git-tf。在前几次修订中,性能不是我们的优先级,正确性是。

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

  5. git-tf通过直接填充git存储库,将TFS对象直接下载到git对象数据库中。 git-tfs通过在隐藏文件夹中创建TFS工作文件夹映射,然后从中填充git存储库来工作。这里有一个磁盘惩罚,所以如果你有超级存储库,你可能会感觉到这一点。

  6. git-tfs可以尝试将您的TFS分支映射到您的git分支。很多人会认为这是git-tfs的积极因素,尽管我不这样做:git的分支模型(在存储库级别)和TFS的分支模型(在存储库中表示为文件夹)是如此根本不同除了最简单的工作流程之外,什么都会引起问题。但你的里程可能会有所不同。

  7. git-tfs由社区积极开发。 git-tf尚未获得社群采用。

  8. 我不想让它听起来像我说git-tf很糟糕。不是。我认为这实际上非常好。但它可能不是你最好的选择。


    更新:git-tf has reached end-of-life。它不再由Microsoft维护或支持。如果您想要双向TFS< - >,我们建议git-tfs git解决方案。

答案 1 :(得分:28)

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

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

编辑:git-tfs isn't actively maintained

现在,git-tfs对TFS分支有很好的支持(获取现有分支,创建分支,比使用TFS更容易合并分支,...使用branch命令)。

请参阅:

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

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

(更多active和更多supported

答案 2 :(得分: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存档中。

(2017年4月,项目addedcodeplex page部分由Edward Thomson,其发起人和接受答案的作者)

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