【发布时间】:2012-05-01 22:16:14
【问题描述】:
我看到了这个question,但答案没有讨论保留在第一个存储库拆分之前移动的文件的历史记录。
我感兴趣的是以下场景:最初有一个 repo,并且由于重构,一些文件已在不同时间在此 repo 中移动。现在,我们通过从这个 repo 中选择一个文件子集来创建另一个,来拆分这个初始 repo。如果我们使用 --subdirectory-filter 参数执行 filter-branch,我们可以将新 repo 限制为仅与剩余文件相关的历史记录。
但是,经过一些实验后,这似乎会破坏上次移动文件之前创建的文件中的历史记录(即,git log --follow 不再有任何文件重命名记录要遵循)。
有什么办法可以让git blame 和git log 在执行filter-branch 命令时仍然可以跟踪文件的完整历史记录,或者是否有任何其他方法可以保留文件的历史记录?移动或重命名?
【问题讨论】:
-
为什么不只是
git clonerepo 并从每个文件中删除您不想要的文件? -
我在您的问题中阅读了“保留文件历史记录”,这就是为什么我认为您想保留每个文件的历史记录。 :-)
-
等等,你想要历史的变化,而不是文件本身吗?
-
是的,保留在新仓库中的所有文件的历史记录,但不是被过滤掉的文件的历史记录。
标签: git