git重整仓库

68 阅读1分钟

重整仓库

1. 拆分子目录作为单独的仓库

参照 : blog.csdn.net/wang252949/…

*1.*git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter <path-name> -- --all

2. 过滤某些目录,只保留部分目录

*1.*git filter-branch -f --tree-filter 'rm -rf <dir-and-file-to-delete>' -- --all

多次运行,需要加上 -f 表示强制。

3. 重命名

*1.*git filter-branch -f --tree-filter 'mv <old-file> <new-file> || true' -- --all

4. 清理仓库

*1.*(1)git reset --hard

*2.*(2)git **for**-each-ref --format="%(refname)" refs/original/ |xargs -n 1 git update-ref -d

*3.*(3)git reflog expire --expire=now --all

*4.*(4)git gc --aggressive --prune=now

*5.*

文章写于 2019-05-08, 于2023-03-21 迁移到掘金。