热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从git删除大文件

这是我上一篇文章

这是我上一篇文章here的后续内容。
我正在尝试删除我提交给git的大文件。根据上一篇文章中的建议,我尝试了

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch folder/Unconfirmed 866711.crdownload" --prune-empty --tag-name-filter cat -- --all

按照上述命令,我尝试推送所有更改

git push origin --force --all

但是,在使用filter-branch之前,我得到了与显示的相同的错误

remote: error: File folder/Unconfirmed 866711.crdownload is 486.30 MB; this exceeds GitHub's file size limit of 100.00 MB

或者,我也尝试过

git add --all
git filter-branch -f --index-filter "git rm --cached --ignore-unmatch folder/Unconfirmed 866711.crdownload" HEAD

但是,我得到以下内容

Cannot rewrite branches: Your index contains uncommitted changes.

我不确定是否错过任何命令或标志。有什么建议吗?




  

无法重写分支:您的索引包含未提交的更改。

您的工作目录中有未提交的更改,即为提交而进行的更改(请检查git status输出)。如果愿意,可以提交这些更改,或者在执行filter-branch命令后使用stash和apply保留未提交的更改。

如果您不想进行未提交的更改,则可以执行硬重置。

git reset --hard HEAD



正如下面的评论中提到的@torek和GitHub帮助page所述,不建议在stash

之前使用filter-branch

  

警告:如果在存储更改后运行git filter-branch,则您
  将无法使用其他存储命令检索您的更改。
  在运行git filter-branch之前,我们建议先取消所有更改
  你做了。

因此,如果要保留未提交的更改,请提交更改。然后继续执行filter-branch命令。



您的filter-branch命令缺少单引号(以考虑要删除的文件名中的空格)

git filter-branch -f --index-filter "git rm --cached --ignore-unmatch 'folder/Unconfirmed 866711.crdownload'" HEAD


推荐阅读
author-avatar
阮琳芷信玲俊岳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有