TFVC到TF GIT的迁移:回购组织,包括多个解决方案和构建

TFVC到TF GIT的迁移:回购组织,包括多个解决方案和构建,git,tfs,tfsbuild,tfvc,Git,Tfs,Tfsbuild,Tfvc,我们正在考虑从TFVC迁移到GIT(可能托管在TFS中) 主要原因是对文件移动的不好支持,这使得更大的重构成为一种痛苦。合并通常相当糟糕,即使只更新了合并的一侧,也经常要求手动解析。另一个不好的事实是,我们目前有几个团队项目,并且希望(通过源代码)包含一些共享功能,这在涉及多个团队项目时似乎很难做到 对于TFS来说,什么是GIT回购的良好组织 我们有多种解决方案(目前,分布在不同的团队项目中) 我们计划在几个解决方案中引用一些共享代码,以便以源代码格式进行调试 现在,我们有许多遗留的特性分支,

我们正在考虑从TFVC迁移到GIT(可能托管在TFS中)

主要原因是对文件移动的不好支持,这使得更大的重构成为一种痛苦。合并通常相当糟糕,即使只更新了合并的一侧,也经常要求手动解析。另一个不好的事实是,我们目前有几个团队项目,并且希望(通过源代码)包含一些共享功能,这在涉及多个团队项目时似乎很难做到

对于TFS来说,什么是GIT回购的良好组织

  • 我们有多种解决方案(目前,分布在不同的团队项目中)
  • 我们计划在几个解决方案中引用一些共享代码,以便以源代码格式进行调试
  • 现在,我们有许多遗留的特性分支,并且希望为主要解决方案保留一个主要的开发分支(如果GIT的工作流程合适的话。在TFVC中,我注意到许多分支使源代码管理变得混乱。)
  • 构建应该像以前一样通过构建代理工作,同时考虑共享项目(其中的更改会触发构建)
  • 历史应该被保存
到目前为止,我们正在使用它进行迁移,这看起来相当不错。我们不太喜欢工作项目或类似项目


请分享你的见解。经过一些快速的研究后,我想知道这是否值得,因为这似乎是一些工作,其中包括决定回购结构以及重新建立构建项目。

主要区别在于TVFS的集中性与Git的分散性,这意味着:

  • Git存储库往往较小,并且集中在一个组件上
  • 哪些TVF可以在一个巨大的参考文件中托管多个项目
因此,请确保拆分Git tfs导出产生的Git回购,以便:

  • 每个解决方案有一个Git存储库
  • 将commons项目纳入主要Git回购协议

取决于您的构建环境,这可能包括挑战,但是。

主要区别在于TVFS的集中式特性与Git的分散式特性,这意味着:

  • Git存储库往往较小,并且集中在一个组件上
  • 哪些TVF可以在一个巨大的参考文件中托管多个项目
因此,请确保拆分Git tfs导出产生的Git回购,以便:

  • 每个解决方案有一个Git存储库
  • 将commons项目纳入主要Git回购协议

根据您的构建环境,这可能包括挑战,但是。

我对GIT有一些经验,但不是在更大的专业范围内。我现在才开始担心构建、repo链接(最终也会阅读子模块,这些子模块看起来很接近,但不是百分之百都能做到,比如更新需要手动完成)等等。毕竟,我们非常习惯TFVC工作流。@AndreasReiff更新可以一次性完成()我对GIT有一些经验,但不是在更大的专业范围内。我现在才开始担心构建、repo链接(最终也会阅读子模块,这些子模块看起来很接近,但不是百分之百都能做到,比如更新需要手动完成)等等。毕竟,我们非常习惯TFVC工作流。@AndreasReiff更新可以一次性完成()