如何重写历史记录,使根目录下的提交出现在新的子目录下?
original: foo/bar.txt
desired: newsubdir/foo/bar.txt
我正在尝试从存储库中拆分目录并将其导入到另一个目录,但是根目录上的冲突是一个问题(请参见Splitting a subfolder out into a new repository
当我过滤所需的子目录时,它会以其README.md和.gitingnore成为根目录,当我尝试将其作为子目录移植到现有存储库时会引起许多冲突。
git filter-branch --prune-empty --subdirectory-filter foo --
result: history of /foo stored as /
所以,我想找到一种方法:
- 在/ foo之外过滤所有提交数据,因此我在源代码仓库中只剩下/ foo
- 带有子目录filter和新前缀的filter-branch
有人能做到这一点,以使新仓库在新目录之外的历史记录为零吗?