git 分离子文件夹导致的问题
資深大佬 : JCZ2MkKb5S8ZX9pq 0
-
有一个项目文件夹 Parent,其中有一个 child 文件夹。Parent 已经历过多次 commit,希望分离 child 为孤立的 git 。
-
使用的方法是:
- 复制 Parent 为副本
- 在副本内过滤 git filter-branch –prune-empty –subdirectory-filter child
- 这样获得的 child 看上去是对的
- 再去 parent 里 ignore 掉 child 就好了
-
但是隔了好久,发现有问题。因为 Parent 之前 commit 多次,而且有误操作,commit 了大文件进去。child 只有 20M,git 有 200M+。用了官方推荐的 BFG,的确能删除大文件,缩减到 100M,但还是很大。
-
猜测可能是 filter 的问题,child 以外的子文件夹的 git 记录还在,虽然没有大文件,但也积少成多。
提问
-
现在还有没有办法理清 child 的 commit,使其摆脱 parent 的遗毒。
-
用 BFG 能看到的那些大文件,直接用 git log 是看不到的,都是 child 目录以外的内容。child 的 git log 是干净的。但那些属于 parent 的记忆应该还保留在某处,怎么查看呢?
大佬有話說 (9)