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

Ear*_*rlz 73 git tfs git-tfs git-tf tfvc

我最近厌倦了TFS.我听说隧道尽头有一盏灯.显然,我可以使用的git-TF或混帐TFS和对待我的代码,就好像它是由git的管理,但可以从一个中央服务器TFS推/拉/.

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

Edw*_*son 88

免责声明:我开始的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解决方案,我们建议您使用.

  • 看起来我会选择git-tfs.在任何情况下,我都不会在我的开发箱上安装Java. (9认同)
  • @JoãoPortela全部!而且,从那以后,git-tfs获得了有趣的功能...... (4认同)
  • 所以基本上在非Windows上使用git-tf,在Windows上使用git-tfs? (2认同)

Phi*_*ppe 29

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

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

现在,在git-tfs中有一个非常好的TFS分支支持(获取现有分支,创建分支,比使用TFS更容易合并分支,...使用branch命令).

看到:

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

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

(它更活跃,更受支持)


J J*_*nes 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月由Edward Thomson 添加到项目的codeplex页面,其发起人和接受答案的作者)

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