软件版本要求
python3 >= 3.5
git >= 2.22.0
如果git版本低,则需要安装新版本的git
安装git-filter-repo
python3 -m pip install git-filter-repo
删除指定的文件或文件夹
git filter-repo --path deploy --invert-paths
这里删除的是deploy文件夹,请根据实际情况修改
注意:命令执行后,git的远程仓库remote会被删除,请重新添加
git remote add origin https://codeup.aliyun.com/xxx/xxx/git-test.git
GC回收
- 设置过期
git reflog expire --expire=now --all - 回收
git gc --aggressive --prune=now
强制提交
git push origin master --force
这里提交的是master分支,请根据实际情况修改
后续同事拉取代码
按上述步骤从git仓库中彻底删除文件或文件夹后,同事拉取代码如果失败,可以重新git clone,
但是这样又要重新配置项目很麻烦,可以把原来本地仓库的.git文件夹删除,复制新clone的仓库的.git文件夹进去,就可以了,
可能会出现文件内容相同,但文件是modified状态,revert即可
说明
- 该操作步骤已经过实践验证
- 请谨慎操作