您现在的位置是:首页 >  云笔记 >  开发笔记 >  文章详情

Git提交大文件报错解决方法

豆豆   2023-01-12 14:10:59   334人已围观

使用git提交一批文件报错如下:

image.png

解决方案:

方案一:撤销commit

1.先查看一下最近提交的commit的版本号。

git log

git-log22.png

    输入字母:q 退出 git log 命令

2.依次撤销commit(包含过要删除的大文件的commit必须都给撤销了,要不然会报错)

git reset xxxxxxxxxxxxx

image.png

3.你一定在想你的代码还在不在?不要担心,上面的撤销只是对commit命令的撤销,不会对你修改过的代码撤销的,他们还是在的。

4.删除掉本地的大文件(或者备份到其他地方)和提交记录

git filter-branch -f  --index-filter 'git rm -rf --cached --ignore-unmatch */-新时代中国特色社会主义理论与实践14976858 .pdf' HEAD
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d

注意第一个命令: git filter-branch -f  --index-filter 'git rm -rf --cached --ignore-unmatch */*新时代中国76858*.pdf' HEAD

image.png

5.重新进行提交

git add .
git commit -m '提交版本的注释'
git push

非常完美的解决了此问题。


方案二:清除大文件

1、在GIT目录下打开Git bash Here命令框查询文件具体位置

     使用错误提示上面的Blob ID :92dd0f8c 

git rev-list --objects --all |grep 92dd0f8c

image.png

2、 清除掉提交到本地仓库的大文件

       使用上面已经找到的具体文件路径清除掉提交记录,你最好是将这个大文件另外报错一份。一下是过滤掉此大文件的具体命令,注意必须是双引号,不然会报错

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch --ignore-unmatch 国际音标1.DAT'

3、再次强制提交

git push --force --all


 最后在删除掉该文件,防止下次又提交该文件


分享到:

编辑发布时间:2023-01-12 14:10:59