1

可能,我误解了 git 的工作原理,我的目录结构如下:

project (git-repo)
  project 1 (git-repo)
  project 2 (git-repo)
  common scripts (git-repo)

所有这些文件夹都有自己的存储库,其中主存储库project可以有子存储库,例如project 1, project 2, child scripts. 它们可以是子模块或子树。问题是common scripts包含一些常见且必不可少的代码,这些代码对于构建project 1project 2. 维护这一点的最佳策略是什么,以便每个项目都可以独立,并且无需将通用脚本保存在两个地方。

4

1 回答 1

0

我只想留下我想出的间接解决方案。在获得其他方法之前,它可能对其他人有用。

目前,我无法避免不将common scripts文件夹保存在两个地方,但可以将其保存在一个地方。以下是我现在采用的结构,

project
  project 1 (git-repo)
    common-script (git-repo/submodule)
  project 2 (git-repo)
    common-script (git-repo/submodule)
  common-script (git-repo)

这样,我可以common-script从它自己的 repo 和我可以使用的每个项目中处理git submodule foreach git pull origin master并提交 repo,以便我将在每个依赖项目中更新脚本。

于 2019-01-15T18:44:51.047 回答