更新:我不再使用TFS了。但是根据评论我可以看到 git-tfs 显然是现在的方式。
是否有人使用Git作为Team Foundation Server的离线解决方案?
对于Subversion,您可以使用git-svn来保存带有svn后端的私有存储库。
我尝试使用SvnBridge和git-svn来使用TFS。起初看起来很有希望,但Visual Studio认为该解决方案处于TFS版本控制之下并在提交期间发生干扰。
还有其他方法可以将这两者结合起来吗?
答案 0 :(得分:84)
我开始研究一种名为git-tfs的工具,在某些方面类似于git-svn。
答案 1 :(得分:14)
答案 2 :(得分:8)
我敢肯定这是可能的,但它的结构将会非常高,并且很可能导致更多的痛苦而不是快乐。我建议选择一个源控制系统并继续使用它。
如果你需要真正的离线支持,那么git很棒,但Windows支持仍然有点不稳定。
答案 3 :(得分:5)
我们决定在工作中这样做。这是一篇关于我们如何做到的博客文章。
http://blog.lozanotek.com/archive/2009/10/20/git-svn_SvnBridge_and_TFS_Source_Control.aspx
刚刚在Github上发现了这个项目..这可能有用,但我还没有尝试过。
答案 4 :(得分:3)
我可以告诉你这是可能的......
此外,您还可以找到有关具有相同体验的人的一些细节:http://blog.zobie.com/2009/04/using-git-to-avoid-problems-with-tfs/
答案 5 :(得分:2)
您的问题稍微偏离主题,但我编写了一个Powershell脚本,将TFS存储库转换为Git存储库。可能也很有用。
答案 6 :(得分:2)
TFS现在支持git: tfs news git support
答案 7 :(得分:2)
Brian Harry在new integration of Git repositories以及Team Foundation Service中详细介绍了Team Foundation Server 2013。他提出了一些有趣的观点,这些观点对于企业来说尤为重要,对于那些关心拥有Git存储库的团队而言,这一点非常重要:
易于安装 - 我们现在已经将Git安装为无缝部件 安装TFS。没有什么可去追踪和下载。 无需单独安装和配置。您只需安装TFS 2013即可 并自动获得Git支持。
支持与服务 - 因为我们正在发货,所以我们支持它。 这意味着如果您有任何问题,可以联系我们的支持和 得到帮助。您将收到安全更新,热修复,定期 更新和更多用于获取它们的方式。好 努力确保您的TFS服务器健康且最新 无论您使用哪种功能。
高可用性 - 从早期开始,我们就致力于提供TFS支持 高可用性。我们的Git支持也不例外 - 我们支持所有人 与TFS相同的东西 - 负载平衡和 集群以确保您的服务器将继续运行 硬件和软件故障,如果需要,可以进行地理复制 确保即使在面对时也能保持业务连续性 区域中断,在线备份和恢复作为一个整体的一部分 TFS使您现有的企业级备份和还原策略 (完整,增量和事务日志)将继续工作(给予 你很好的RTO和RPO)。
扩展 - 与TFS一样,您可以无缝扩展TFS安装 随着您的需求增长。这包括扩展应用程序 您需要添加额外容量的层和存储层。
易于管理 - 我们的Git实现已完全集成到 TFS,以便您的所有管理政策可以继续保持不变 - 服务帐户管理,硬件迁移,软件修补, 备份&恢复,监控,权限管理等。
集成身份验证 - 我们的Git支持完全集成了Windows Active Directory身份验证,以便您的所有访问控制, 审计等可以通过一致和可管理的方式完成 基础设施。作为其中的一部分,所有更改都将针对a进行审核 授权身份,确保您知道谁进行了每次更改。
增强的权限 - 我们已经构建(并正在构建)一堆 额外的存储库和权限管理功能 允许管理员“控制混乱”。第一组包括 管理存储库的能力(创建,删除,重命名等)和 存储库级别权限,用于控制读取,写入和管理 权限。我们还包括解决密钥的第4个权限 许多客户已经与Git发生过关系 - “Force push”,其中 有效地使用户能够“改变历史”。虽然我们启用此功能 能力,我们还使管理员能够使用 允许。我们现在也正致力于其他权限 - 比如 分支级别权限,使管理员能够控制 谁可以创建,删除和使用单个分支。通过这种方式, 开发人员可以在本地选择任何方式使用分支,但何时 他们要回到主回购,他们受到限制 按管理员配置的策略。
ALM集成 - 当然,我们正在将Git完全集成到其中 TFS ALM工作流程 - 工作项跟踪,构建自动化, 报告,代码审查等。并非所有这些整合都是 完成但我们将通过2013年更新充实它 而且,当我们完成时,我们应该在ALM集成上完全平等 Team Foundation版本控制和Git版本之间的功能 控制。
本地化 - 与我们的其他产品一样,我们的Git功能也将如此 本地化为与VS的其余部分相同的语言,使其更多 非英语国家的部分人可以接近。
答案 8 :(得分:0)
我同意马特伯克说,我认为http://git-tfs.com是你的选择。但有一些缺点:
你必须提交2次,一次在VS中,一次在Git控制台中
如果要将变更集链接到某个项目,则必须了解有关git-tfs语句的更多信息(rcheckin,...)