这里的官方SCM是TFS。我使用git-tfs来工作。我们公司的本地分支机构的其他开发人员使用StarTeam用于本地开发分支(是的,那里的SCM比TFS差)。现在,我们中的一些人正在考虑从StarTeam迁移到Git以进行本地开发。
对于多个用户,将git与tfs结合使用的最佳方法是什么?
我最好的主意:
这个工作流程可能有效吗?有没有人有经验可以设置这样的东西?
答案 0 :(得分:1)
首先TFS不是SCM,它是ALM平台。它提供了两个本机SCM选项,TFVC和Git。
您最好的选择是在TFS服务器中创建一个新的团队项目,并在询问您使用哪个SCM提供商时选择Git。这将为您提供类似于GitHub或Bitbucket的东西,但企业已准备好进行企业审计。 然后,您可以将此新TFS Git仓库添加为原点并进行推送。
如果您仍然需要使用TFVC,那么我建议除了上述内容之外,您还可以在此服务器Git repo和TFVC之间每天使用Git-tfs。
您现在拥有相同代码的Git和TFVC副本,所有历史记录都保持不变。然后你的每个程序员都可以克隆MyProject-Git并在Git中愉快地工作。
然后,您可以设置自动和预定的流程,以定期的节奏同步MyProject-Git和MyProject-TFVC。您需要通知的只是冲突,但由于一切都是服务器端并备份,您可以在闲暇时这样做。
答案 1 :(得分:0)
目前的解决方案与我上面概述的基本相同。主要限制:
所以...:
git tfs fetch
每10分钟同步一次主存储库,并将分支重置为tfs/branchname
git tfs rcheckin --no-merge
完成(包含在GitExtensions的插件中)。:%s/tfs/TFVC/g
我们现在为3个存储库和多个分支运行此设置已有几个月了。我的同事们在很短的时间内就习惯了git和这个工作流程 - 一个时不时的问题,但它变得越来越少。我谦虚地感到惊讶,这种情况有多好。