gitlab 删除大文件(夹)及其跟踪记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zh_1191/article/details/82120606

场景

gitlab中提交了一些大文件或是文件夹。或者是提交了无关的文件、文件夹。例如:提交了target目录、object目录等。
虽然能通过删除文件后,使用git commit、git push来达到目的。但是在.git目录中是存在其历史记录的。怎样可能将其历史记录也删除呢?

操作

  • $ git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 这里是要删除的目录或文件名(相对路径)' --prune-empty --tag-name-filter cat -- --all
    例如:$ git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch ./项目管理PMP/' --prune-empty --tag-name-filter cat -- --all
  • $ git commit -m 'delete pmp'
  • $ git push origin master --force
    如果push时提示保护分支不可写,则在gitlab页面去掉master为保护分支即可。

参考

http://www.hollischuang.com/archives/1708
向原作者致敬!



自己备忘哈,以后直接复制粘贴使用。

猜你喜欢

转载自blog.csdn.net/zh_1191/article/details/82120606