我在一个文件夹中有一个repo,不久前我将其拆分为子模块。
首字母:(T0)
-mainpackage
\-subpackage1
\-subpackage2当前:(T1)
-subpackage1
-subpackage2
-mainpackage目前我可以从一开始就看到所有的git历史。现在我想将这个subpackage1移到另一个存储库中。
当我执行手术并使用git filter-branch --subdirectory-filter <directory of subpackage1> -- --all过滤分支时,我丢失了T0和T1之间的历史记录,这是最多的提交。
当我用git log --follow --pretty=format:"%H" <filename>跟踪历史时,我发现同一个文件有两个版本,最新的版本带有文件路径(如'subpackage/src/../filename'),而旧的提交只有文件名(如'filename')。
如何恢复整个子模块(最好的情况)或特定文件的历史记录(最坏的情况-我只对4-5个文件的历史记录感兴趣)
发布于 2021-01-24 18:23:07
您可以使用来解决您的问题,将文件所在的所有路径作为参数传递。
例如:
git-filter-repo --路径主包/子包1--路径subpackage1
https://stackoverflow.com/questions/59825123
复制相似问题