【发布时间】:2015-02-26 12:50:47
【问题描述】:
是否有 git 等效于 svn 文件外部 或任何其他方式来在 git 中模拟文件外部?
背景:我们有一个共同的项目,我们部分地参考了其他项目。
使用 git 子模块 - 据我所知 - 只能引用存储库 - 但不能引用单个子文件夹或文件。
我们基本上需要一个支持svn等外部的分布式版本控制系统。
似乎 git 没有提供我们需要的东西。我对吗?请证明我错了。
详情:
我们有一个相当大的 svn 存储库,其中包含多个项目。每个子项目都依赖于基础项目。但是每个子项目只需要基础项目中的某些文件或文件夹 - 取决于子项目。因此,我们利用带有和不带有修订号的文件和文件夹外部来解决这些依赖关系。
基础项目具有以下结构:
BASE
- libs
-- dll1.dll
- doc
-- howto.doc
- maps.csv
- cols.csv
- misc.ini
- fun.png
子项目使用这样的外部引用基础项目:
"Base/libs@27" inspect
"Base/doc" doc
"Base/calibration/map.csv@14" map/default.csv
"Base/calibration/cols.csv@56" cols/default.csv
【问题讨论】:
-
我想你的要求也在这里讨论过:stackoverflow.com/questions/571232/…
-
其他帖子中没有提到文件外部。但似乎子树合并和子模块是唯一接近外部的选项。
-
先生。 Herzog,您能否用一些有关您如何使用
svn文件外部的详细信息来更新您的问题?我从未见过 Git 无法实现颠覆的情况,所以我认为我们或许能够找到一种方法来使用 Git 解决您的问题。 -
我也在寻找这个问题的答案。一个例子是两个项目需要共享目录中的一些文件,但其他项目是专门针对每个项目的。一种解决方案是重组项目,但当您寻求低成本和快速迁移时,这无济于事,并且所涉及的一些项目实际上已被冻结。