Git如何彻底删除文件或文件夹(包括历史记录)

Git如何彻底删除文件或文件夹(包括历史记录)

一 确定要删除的文件名或文件夹名

1.1 删除文件

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch pom.xml' --prune-empty --tag-name-filter cat -- --all

1.2 删除文件夹

git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch config/' --prune-empty --tag-name-filter cat -- --all

1.3 删除media文件夹下所有以2018开头的mp4文件

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch media/2018*.mp4' --prune-empty --tag-name-filter cat -- --all

二 强制推送

git push -u origin master -f

三 删除回收

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

已经过测试,可以成功!

    原文作者:lalala323
    原文地址: https://blog.csdn.net/lalala323/article/details/103724678
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞