【发布时间】:2014-01-18 14:17:50
【问题描述】:
我有以下结构:
my_main_project/
my_lib/
file1
dir2/
file2
my_other_files
现在,my_lib 已经到了它应该是它自己的库的地步,应该是my_main_project 中的一个子模块
IE:
my_main_project/ (is repo)
<my_lib> (is sub module)
my_other_files/
my_lib/ (is repo)
file1
dir2/
file2
出于显而易见的原因,我希望保留 my_lib 的 git 历史记录。
无论如何,我尝试了以下方法:Convert a git folder to a submodule retrospectively?
但是,它出现了这个错误
$ git filter-branch --subdirectory-filter '../my_main_project/my_lib' --prune-empty -- --all
> fatal '../my_main_project/my_lib' is outside repository
什么,我做错了什么,需要做些什么才能使其正常工作。我应该指出 my_main_project 在 master 分支上,这是我希望移植的 subdir 的分支。
如果您需要补充信息,请告诉我。
【问题讨论】:
-
为什么子目录的路径是
../my_main_project/my_lib,你是从主项目外运行命令吗?
标签: git github refactoring git-submodules git-subtree