git 中的子树命名约定

subtree naming convention in git

我们开始使用 GIT 作为 SVN 的替代品。我们的产品组合具有通用核心专有库,这些库曾经在每个产品的一个 SVN 存储库中。 CORE 库的维护是通过合并跨产品的更改来完成的,因此代码增加了三倍。然后我们在 SVN 中升级到 "externals" 并将核心代码仅保留在一个分支中,并且我们的 Jenkins 有一项构建 DLL 并将其提交到外部连接到其他产品存储库的 LIB 存储库的工作,他们使用只有 dll。

调试 dll 和代码更改并不令人愉快,因为将更改从代码传播到 dll 需要一段时间。另外,它需要一个符号服务器才能进行调试。

所以我们现在想在 GIT 每个核心/产品存储库中分离代码,并将其作为子树包含在内。

GIT中的子树是否有命名约定?

假设我们有一个目录:

.
Core - external/subtree
Modules
Server
Libs - external/subtree
Web
AllInOne.sln

注意:代码是 C# 解决方案 + 一些前端 JS/TS

我会说 Core_subtree_subtree/Core 是一个想法。

我们开始使用 tilda 符号 - 每个子树都以“~”字符开头。例如。你会得到

~Core
~Module
~Libs
Server
Web

GIT 子树是 GIT 存储库中树的正常部分,它们无法区分为子模块。

基本上,你想怎么用就怎么用!我们选择了 tilda,因为它很短,不在 RegEx 中,而且每个人都能看到。