我最近真的受够了TFS。我听说隧道的尽头有一道亮光。显然,我可以使用git-tf或git-tfs来处理我的代码,就好像它是由git管理的一样,但是能够推送/拉入到中央TFS服务器或从中央TFS服务器拉出。
我的主要问题是我不确定我应该使用其中的哪一个。有微软官方支持的git-tf,还有存在时间更长的git-tfs。这两个有什么区别,我应该先试用哪一个?
发布于 2012-10-13 05:24:12
免责声明:I started the git-tf
project,尽管没有我这样的经常贡献者,这个项目现在已经掌握在非常有能力的人手中,但你绝对应该认为我对此的看法是强烈的偏见。(假设您使用的是Windows,这可能是意想不到的。)
这两个工具之间有两个根本的区别:
git-tfs
是为Windows用户构建的,并且是在.NET TFS SDK之上编写的。TFS将不能在Mono下运行,因此这使得use.git-tf
不适合跨平台git-tfs
为跨平台用户构建,并在Java TFS之上编写。因此,它可以在Java TFS SDK支持的任何地方运行(Windows、Mac、Linux、AIX、HP-UX、Solaris...) git-tf
是专门为允许Xcode用户访问TFS而创建的。当然,在Windows上,您可以使用这两种方法之一。我不一定要说其中一个比另一个更好。但我会说:
git-tfs
最大的抱怨是它不能在Mac上工作。如果有一种方法可以使exist.git-tfs
跨平台,那么git-tf
几乎肯定不会。在某些情况下,git-tfs
比git-tf
更快。在最初的几个版本中,性能并不是我们优先考虑的问题,正确性才是。git-tf
有一个广泛的平台支持矩阵,这意味着它的功能必然受到限制。例如,没有UI。另一方面,git-tfs
有一个checkintool
命令,可以打开普通的TFS对话框。这对可视化您的更改非常有帮助。(如果我没记错的话,您可以从那里打开一个合适的可视化比较,etc.)git-tf
的工作方式是直接填充git存储库,直接将TFS对象下载到git对象数据库中。git-tfs
的工作方式是在隐藏文件夹中创建一个TFS工作文件夹映射,然后从中填充git存储库。这里有一个磁盘开销,所以如果你有一个超级规范的存储库,你可能会觉得this.git-tfs
可以尝试将你的TFS分支映射到你的git分支。很多人会认为这对git-tfs
来说是积极的,但我不这么认为:git的分支模型(在存储库级别)和TFS的分支模型(在存储库中表示为文件夹)是如此截然不同,以至于除了最简单的工作流之外,任何其他工作流程都会出现问题。但是你的里程可能vary.git-tfs
是由一个社区积极开发的。git-tf
还没有被社区采用。我不想让它听起来像是我在说git-tf
很糟糕。事实并非如此。我觉得这真的很不错。但这可能不是你的最佳选择。
更新:git-tf
has reached end-of-life。它不再由Microsoft维护或支持。如果你想要一个双向的TFS <-> git解决方案,我们推荐git-tfs
。
发布于 2015-09-22 01:13:12
给任何找到这个帖子的人:
在2013年后没有更新之后,Git-TF
已经正式停止使用,现在明确建议使用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月由爱德华·汤姆森撰写,他是该项目的发起人和公认答案的作者)
Git-TFS
似乎在积极维护:https://github.com/git-tfs/git-tfs/commits/master
https://stackoverflow.com/questions/12866832
复制相似问题