github push大文件失败(> 100M)

github push超过100m的文件会报下面的错误。

github ! [remote rejected] master -> master (pre-receive hook declined) erro

即使之后添加了gitignore文件也会报错,原因是你第一次commit后已经将大文件提交到本地git仓库了,之后push的还是仓库里你以前以及本次commit所保存的内容。
所以要让gitignore起作用,就要把仓库中的大文件删除,就可以了。

  1. 找出大文件
git rev-list --all | xargs -rL1 git ls-tree -r --long | sort -uk3 | sort -rnk4

github push大文件失败(> 100M)_第1张图片
可以看到前面的文件很大。
2. 删除大文件

git filter-branch -f --prune-empty --index-filter 'git rm -rf 
--cached --ignore-unmatch code/embedding_dict.pkl' --tag-name-filter cat -- --all

code/embedding_dict.pkl是你要删除的大文件

之后再add , commit, push就可以了。

你可能感兴趣的:(Linux)