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

场景

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
向原作者致敬!



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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值