如何将目录及其文件移动到子树远程仓库

时间:2014-05-17 05:01:14

标签: git git-subtree

我的当前仓库中有一个名为 files 的目录,我想将其提取到外部仓库,然后在我的主项目中作为子树引用。如何在不丢失我的主仓库中的文件历史但建立此子树连接的情况下执行此操作?

main_project.git< --- files.git

root
---data
------files

转到

root
---remote
------files (subtree)

1 个答案:

答案 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 submodulegit subtree将新存储库包含到第二个存储库中。