You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git无法取消文件跟踪,执行git rm --cached后push仍上传大文件怎么办

仓库已有大文件不参与本地推拉、同时保留在远程的解决方案

你之前执行git rm --cached <file>并提交的操作不符合需求:该操作会生成「删除对应文件」的提交,你push时相当于要同步删除远程仓库的该文件,这就是你看到push时仍有内容上传的原因,也会破坏公共仓库的文件保留需求,请先回退这个错误提交:

git reset HEAD~1

如果已经将删除提交推送到了远程个人分支,请先撤销远程分支的该提交,避免合并后误删公共仓库文件。

根据你的使用场景选择对应方案即可:

场景1:本地已存在该大文件,仅需忽略推拉操作

执行以下命令告诉Git跳过对该文件的所有变更跟踪:

git update-index --skip-worktree <替换为目标文件的相对路径>

该配置仅在你本地生效:

  • 你对该文件的所有本地修改都不会被Git识别,push时不会上传任何该文件的相关内容
  • pull时不会用远程的该文件版本覆盖你的本地文件
  • 远程仓库的该文件会完整保留,不影响其他协作者的下载使用

如果后续需要恢复对该文件的跟踪,执行:

git update-index --no-skip-worktree <替换为目标文件的相对路径>

场景2:尚未拉取该文件,不想下载大文件到本地

使用Git稀疏检出功能过滤掉该文件的拉取操作:

  1. 开启稀疏检出配置:
    git config core.sparseCheckout true
    
  2. 编辑仓库根目录下的.git/info/sparse-checkout文件,先写入你需要正常拉取的路径规则,最后添加一行排除规则(!开头代表排除对应路径):
    !<替换为目标大文件的相对路径>
    
    示例:如果要排除的文件是dataset/large_model.pt,就在文件最后添加!dataset/large_model.pt
  3. 后续执行git pull操作时,Git只会拉取你指定范围内的文件,不会下载被排除的大文件。

内容的提问来源于stack exchange,提问作者Borut Flis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:36:03