同一目录下的多个 git
Posted
技术标签:
【中文标题】同一目录下的多个 git【英文标题】:multiple gits under same directory 【发布时间】:2016-03-16 15:34:49 【问题描述】:如何在同一个目录结构下拥有 2 个 git repo?
基本上,我有 1 个用于通用源代码的 git 存储库,我想要第二个 git 存储库来存档客户特定信息;正在配置设置、图像、上传,...
我在这个目录结构下有客户。
client
git-1 /src
git-2 /src/custom
git-1 /public/index.php
git-2 /public/assets
git-2 /public/uploads
git-2 /config
git-1 将存储这些路径的源代码
client/src
client/public/index.php
git-2 - 我想存档客户的特定信息
client/src/custom
client/config
client/public/assets
client/public/uploads
【问题讨论】:
您能否介绍一下您为什么选择将一个项目拆分为两个存储库的背景? 我在 repo-1 中有主要软件,我想在 repo-2 中进行自定义和配置设置。配置设置是每个客户端自定义的,一些客户端有自定义代码。 【参考方案1】:从技术上讲,没有什么能阻止你做你想做的事。 您只需要为单个项目管理 2 个 git 存储库,这可能会导致工作流程不稳定,并且如果/当您想回滚到以前的提交/发布时,您必须弄清楚提交的时间和行正确更新您的提交,以确保您的客户特定信息与您的源代码兼容。
然而,Git 并不是为这样使用而设计的。一个通用的、稳定的和推荐的 Git 设置是 1 个项目的 1 个存储库(以及由依赖项管理器管理的任何依赖项)。
注意:您可以使用 Git submodules 将它们作为 1 个主 Git 存储库下的 2 个独立 Git 存储库进行管理;虽然这通常用于使用其他项目作为子模块的大型项目。
通读 cmets 到您的问题,您为什么不创建一个 Git 存储库,其中包含您的所有源代码等以及虚拟客户端信息?
然后,当您想将源代码用于新客户端时,只需 fork 您的 Git 存储库并将虚拟数据替换为客户端数据。 如果您对源代码进行了更改,则可以将您的分叉存储库与原始 Git 存储库重新定位/同步。
【讨论】:
以上是关于同一目录下的多个 git的主要内容,如果未能解决你的问题,请参考以下文章
7zip:在C#中,如何将不同目录下的多个同名文件添加到同一个zip文件中?