作为之前已经提出的问题detach-subdirectory 的一个子集,并考虑到尽管有很多关于拆分和合并git存储库的过程的问题,但我找不到一个涉及在存在子模块时进行拆分的主题。
因此,在接下来的情况下:
我希望获得以下结构的两个代码库:
因此,在接下来的情况下:
.git/
.gitmodules
folder/
data/
content/
other_data/
submoduleA/
submoduleB/
我希望获得以下结构的两个代码库:
.git/
data/
并且
.git/
.gitmodules
content/
other_data/
submoduleA/
submoduleB/
第一个情况不是问题,可以使用detach-subdirectory中描述的方法轻松解决。
然而第二个情况就不太一样了。子模块的存在以及.gitmodules包含folder/content/submoduleA
和folder/content/submoduleB
的完整路径会导致部分历史记录不一致,因为.gitmodules引用了不存在的目录结构(一旦使用filter-branch后)。
所以我想知道是否有一种方法可以在不造成不一致历史的情况下完成此操作。
--tag-name-filter cat
选项以在过滤后保留标签。 - kolyuchiyinit..HEAD
范围内有一个标记为“init”的初始提交。其次,我不得不在sed命令中添加-e
,即:sed -i -e 's/cool-cavemen\///g' ./.gitmodules
。 - Von