Git和Team Foundation Server
更新:我不再使用TFS。 但从评论中我可以看出, git-tfs显然是现在走的路。
有没有人使用Git作为Team Foundation Server的离线解决scheme?
对于Subversion,你可以使用git-svn来保存一个svn后端的私有仓库。
我试图使用SvnBridge和git-svn来处理TFS。 起初,它看起来很有希望,但Visual Studio认为解决scheme是在TFS版本控制下,并在提交时干扰。
还有其他的方法来结合这两个?
我已经开始研究一个名为git-tfs的工具,在某些方面类似于git-svn。
来自微软的新产品: Git-tf
公告: 宣布与TFS集成Git
下载: 这里
来源(CodePlex): 这里
我相信这是可能的,但是它的构build将会是非常有趣的,而且很可能会导致比痛苦更多的痛苦。 我build议select一个源代码pipe理系统,并与之合作。
如果你需要真正的离线支持,那么git是真棒,但Windows支持仍然有点flair。
我们只是决定在工作中这样做。 这是一篇关于我们如何做的博客文章。
http://blog.lozanotek.com/archive/2009/10/20/git-svn_SvnBridge_and_TFS_Source_Control.aspx
刚刚在Github上也发现了这个项目..这可能工作,但我还没有尝试过。
我可以告诉你这是可能的…
同样在这里,你可以find一些具有相同经验的人的一些小细节: http : //blog.zobie.com/2009/04/using-git-to-avoid-problems-with-tfs/
稍微偏离你的问题,但我写了一个Powershell脚本,将TFS存储库转换为Git。 也可能是有用的。
看我的Github回购剧本
TFS现在支持git: tfs news git support
Brian Harry详细介绍了将Git存储库集成到Team Foundation Service以及Team Foundation Server 2013的新细节。 他提出了很多有趣的观点,对企业来说尤其重要,对于那些关心可靠托pipeGit仓库的团队来说,
安装简单 – 我们现在已经把安装Git作为安装TFS的一个无缝的部分。 没有什么可去追踪和下载。 没有什么可以单独安装和configuration。 您只需安装TFS 2013并自动获得Git支持。
支持和服务 – 因为我们在运送它,所以我们支持它。 这意味着如果您有任何问题,可以联系我们的支持并获得帮助。 您将收到安全更新,热修补程序,定期更新以及更多与您习惯的相同方式。 我们将努力工作,确保您的TFS服务器健康且最新,无论您使用的是哪种function。
高可用性 – 从早期开始,我们一直在努力使TFS支持高可用性。 我们的Git支持也不例外 – 我们支持所有与TFS相同的东西 – 负载平衡和集群,以确保您的服务器将继续运行,尽pipe硬件和软件故障,如果您需要确定地理复制即使在面临地区故障时也能保持业务连续性,在线备份和恢复作为TFS的一个组成部分,以便您现有的企业级备份和恢复策略(完整,增量和事务日志)将继续工作(为您提供良好的RTO和RPO)。
规模 – 与TFS一样,您可以随着需求的增长无缝地扩展您的TFS安装。 这包括扩展应用程序层和存储层,因为您需要添加额外的容量。
pipe理简便 – 我们的Git实施完全集成到TFS中,使您的所有pipe理策略都可以保持不变 – 服务帐户pipe理,硬件迁移,软件修补,备份和恢复,监控,权限pipe理等。
集成身份validation – 我们的Git支持完全集成了Windows Active Directory身份validationfunction,因此您的所有访问控制,审计等都可以通过一致且可pipe理的基础架构完成。 作为其中的一部分,所有的变更都会根据授权的身份进行审计,以确保您知道是谁进行了每项变更。
增强的权限 – 我们已经构build(并正在构build)一系列额外的存储库和权限pipe理function,允许pipe理员“控制混乱”。 第一组包括pipe理存储库(创build,删除,重命名等)和控制读取,写入和pipe理权限的存储库级权限的能力。 我们还包括第四个许可,解决了许多客户使用Git的关键问题 – “强制推送”,这有效地使用户能够“改变历史”。 在启用此function的同时,我们还允许pipe理员通过权限将其禁用。 我们现在还在处理其他权限 – 比如分支级别权限,这将使pipe理员能够控制谁可以创build,删除和使用单个分支。 通过这种方式,开发人员可以使用本地select的任何方式进行分支,但是当他们要推回到主资源库时,它们受到pipe理员configuration的策略的约束。
ALM集成 – 当然,我们正在将Git完全集成到TFS ALM工作stream程中 – 工作项目跟踪,构build自动化,报告,代码审查等等。 并不是所有的整合工作都已经完成,但是我们将通过2013年更新进行充实,当我们完成之后,我们应该在Team Foundation版本控制和Git版本控制之间实现ALM集成function的完全平等。
本地化 – 与我们的其他产品一样,我们的Gitfunction将与VS的其他语言本地化为相同的语言,使非英语国家的部分语言更易于使用。
资料来源: 企业级Git Repos
我同意Matt Burke所说,我认为http://git-tfs.com是你的select。; 但是有一些缺点:
-
你必须提交2次,一次在VS和一次在Git控制台
-
如果你想把一个变更集链接到某个项目上,你必须学习更多关于git-tfs语句(rcheckin,…)