可能是我误解了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 1
和project 2
的代码。保持这种状态最好的策略是什么,这样每个项目都可以独立并且无需在两个地方都保留通用脚本。
答案 0 :(得分: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
,并可以从每个项目中使用git submodule foreach git pull origin master
并提交仓库,以便在每个依赖项中都有更新的脚本项目。