gpt4 book ai didi

c# - 在 Azure DevOps Repos 上拆分大型软件项目

转载 作者:行者123 更新时间:2023-12-03 02:15:19 30 4
gpt4 key购买 nike

我们目前正在从作为集中版本控制的 IBM ClearCase 迁移到 Git/Azure DevOps。这是一个大型且长期发展的 C# 软件项目,拥有 100 多个 C# 项目,分布在大约十几个解决方案中,其中存在一些依赖关系,目前通过项目引用。

到目前为止,所有这些解决方案都是在一个公共(public)文件夹中使用 ClearCase 进行管理的,但是对于 Git 来说,最佳实践似乎是每个存储库使用一个解决方案并使用 NuGet Packages 处理跨存储库的依赖关系。

我想询问迁移和拆分此类项目的经验,您是否遇到过在一个存储库中包含多个 C# 解决方案更好的情况?

如何管理属于一个具有一个发布周期的软件的多个存储库?我们计划使用发布分支,我认为我们必须编写一个脚本来对属于该项目的所有存储库进行分支,或者是否有更方便的方法(可能由 Azure DevOps 提供)?

最佳答案

我之前写过ClearCase migration to Git .

在所有情况下,场景都是相同的:

  • 不要导入完整历史记录,仅导入主要标签或 UCM 基线
  • 为每个项目拆分 VOb,每个项目都是一个 Git 存储库
  • 重新审视 Vobs 中的版本控制:某些大型文件/二进制文件可能需要在新的 Git 存储库中进行 .gitignore 处理。

您仍然可以通过 Git submodules 引用一个父 Git 存储库中的所有 Git 存储库(C# 项目) .

您也可以走 monorepo 路线:毕竟,这就是 Microsoft 正在用其“The largest Git repo on the planet ”所做的事情。

但在这种情况下,您可能需要使用 Scalar ,以及稀疏的 checkout 。
请参阅:

关于c# - 在 Azure DevOps Repos 上拆分大型软件项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71602582/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com