环境:

  • Windows 10
  • git version 2.35.1.windows.2

git add添加大文件导致卡住不动

在 Git 中处理大文件时,使用 Git LFS(Large File Storage) 是推荐的方案,它可以避免大文件直接存入 Git 仓库历史,减小仓库体积并提升操作性能。

# 安装后,初始化 LFS(每个仓库只需执行一次)
git lfs install

# 配置追踪大文件
# 执行后会生成/更新 .gitattributes 文件,必须将该文件提交到仓库,否则其他协作者无法识别 LFS 追踪规则
git lfs track "video.mp4"
git lfs track "*.zip"
git lfs track "designs/*.psd"

之后正常使用 git add,但是即使这样添加大文件时也会卡住不动。

  1. 如果卡住时强制打断 git add 后,Git 可能会遗留一个 .git/index.lock 文件,这是 Git 为了防止多个进程同时修改索引(index)而创建的锁文件。如果有则需要删除此文件,如果这个锁文件没有被正常清理,后续的 Git 操作(如 git addgit commit 等)可能会报错

    rm -f .git/index.lock
    
  2. 可以使用 verbose 选项 (-v 或者 --verbose),虽然这是 “详细模式” 选项,但是它可以神奇的解决卡住的问题


YOLO