问题描述

在使用git提交代码时,提示文件过大,无法提交。

问题原因

git的默认配置下,文件大小限制为100MB。如果文件超过100MB,则无法提交。
如果某次commit中包含大文件,即使在后续的commit中删除了大文件,也需要上传大文件,导致commit失败。

解决方法

1. 忽略大文件

在项目根目录下创建一个.gitignore文件,并添加需要忽略的文件或目录,如:

*.log
*.zip

2. 在commit中删除大文件

  1. 使用git log 命令查看提交记录,找到超过大小的文件所在的提交
  2. 使用git reset 命令回退到指定提交
  3. 重新提交
  4. 上传

3. 使用git-lfs

git-lfs是一个开源的Git扩展,可以跟踪大文件,并将它们存储在Git的对象数据库中,而不是像Git本身一样直接跟踪它们。

安装git-lfs:

sudo apt-get install git-lfs
  1. 安装git-lfs后,在项目根目录下执行:
git lfs install
  1. 使用git lfs track命令将需要跟踪的文件添加到.gitattributes文件中:

    *.log filter=lfs diff=lfs merge=lfs -text
    *.zip filter=lfs diff=lfs merge=lfs -text
  2. 使用git add命令添加需要跟踪的文件:

    git add *.log
    git add *.zip
  3. 使用git commit命令提交:

    git commit -m "commit message"
  4. 上传:

    git push origin master

参考