我看到了这个问题,但答案没有讨论保留在第一个存储库拆分之前移动的文件的历史记录。
我感兴趣的是以下场景:最初有一个 repo,由于重构,一些文件在不同时间在这个 repo 中移动。现在,我们通过从这个 repo 中选择文件的一个子集来创建另一个 repo 来拆分这个初始 repo。如果我们filter-branch
使用--subdirectory-filter
参数执行,我们可以将新 repo 限制为仅与剩余文件相关的历史记录。
但是,经过一些实验后,这似乎会破坏上次移动文件之前创建的文件中的历史记录(即,git log --follow
不再有任何文件重命名记录要遵循)。
有没有办法解决这个问题,以便git blame
在git log
执行命令时仍然可以跟踪文件的完整历史记录filter-branch
,或者有没有其他方法可以保留已移动或重命名的文件的历史记录?