我的当前仓库中有一个名为 files 的目录,我想将其提取到外部仓库,然后在我的主项目中作为子树引用。如何在不丢失我的主仓库中的文件历史但建立此子树连接的情况下执行此操作?
main_project.git< --- files.git
root
---data
------files
转到
root
---remote
------files (subtree)
答案 0 :(得分:0)
使用git filter-branch --subdirectory-filter
将该单个文件夹解压缩到一个单独的存储库中:
--subdirectory-filter <directory>
Only look at the history which touches the given subdirectory. The result
will contain that directory (and only that) as its project root.
之后,您可以使用git submodule
或git subtree
将新存储库包含到第二个存储库中。