具有同等重要的服务器端和客户端部分的项目的典型目录结构

Ser*_*giy 5 git typescript .net-core asp.net-core

我们将发布一个开源库,其中包含一个用 C# 编写的服务器端部分(用于 Web API、提取元数据、数据库相关操作等)和一个用 TypeScript 编写的执行 UI 的客户端部分.

通常,我们的存储库具有经典结构,例如:

  • docs/ - 文档
  • 示例/ - 一些示例项目
  • src/ - 库本身的源代码
  • 测试/ - 单元和集成测试

但是,现在我不确定如何组织这个 Git 存储库,因为所有这些部分(可能包含这两个部分的示例项目除外)对于客户端和服务器端将完全不同。

所以,现在,我们得到了这样的结构:

  • 样品/
  • 客户/
    • 文档/
    • 来源/
    • 测试/
  • 服务器/
    • 文档/
    • 来源/
    • 测试/

但是,我仍然不太确定这种结构,并希望听到社区的任何想法或建议。

可能,最好将它放在 2 个不同的存储库中?但是,我们希望保留客户端和服务器端部分的统一版本控制,并且不想不必要地使事情复杂化。

ste*_*web 1

您可以使用git-submodules以便server存在client单独的报告并在一个存储库中将它们整理在一起,但您为服务器和客户端引用单独的存储库。来自git-submodules文档:

这些场景中会出现一个常见问题:您希望能够将两个项目视为独立的项目,但仍然能够在另一个项目中使用其中一个项目。

您可以采用如下命名约定:

  • 项目/客户
  • 项目/服务器
  • 项目/项目

您建议的目录结构将被保留,但代码将被拆分到多个存储库中。