Git 从仓库中彻底删除文件或文件夹

软件版本要求

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回收

  1. 设置过期
    git reflog expire --expire=now --all
  2. 回收
    git gc --aggressive --prune=now

强制提交
git push origin master --force
这里提交的是master分支,请根据实际情况修改

后续同事拉取代码

按上述步骤从git仓库中彻底删除文件或文件夹后,
所有同事如下操作
git fetch origin
git reset --hard origin/<branch-name>
防止把删除的文件或文件夹又提交到git仓库中

说明

  1. 该操作步骤已经过实践验证
  2. 请谨慎操作
posted @ 2024-12-27 13:46  0611163  阅读(97)  评论(0)    收藏  举报