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

本地删除已push文件后再push新文件,GitHub是否会保留所有文件?

方案可行性结论

你描述的基础工作流无法直接实现,存在两处核心限制,调整操作逻辑并搭配对应工具后可以满足需求。

核心限制说明
  • Git默认会同步文件删除状态:如果你本地删除了已经推送的旧文件,后续如果使用git add 目录名这类全量添加命令,Git会自动记录旧文件的删除操作,推送到远端后GitHub上的旧文件也会被同步删除。
  • GitHub普通推送存在文件大小限制:单文件超过100MB会被直接拦截推送,你提到的15GB以上大文件无法通过普通Git操作直接上传到GitHub仓库,且普通Git也不适合存储大体积二进制文件,会导致仓库体积急剧膨胀,后续操作效率极低。
可落地的调整方案

你可以按照以下规则调整操作,即可实现需求:

  1. 提前安装配置Git LFS:这是Git官方提供的大文件存储扩展,专门用于解决Git存储大文件的问题。配置完成后在仓库内开启对应大文件格式的追踪,大文件会单独存储在LFS存储池,不会占用普通Git仓库的体积。
  2. 每次推送新文件时严格执行以下操作,避免误删远端旧文件:
    • 仅添加本次需要推送的新文件到暂存区,不要全量添加整个目录:
      git add 目标目录/本次要上传的新文件名
      
    • 提交暂存的新增文件:
      git commit -m "新增[批次标识]处理文件"
      
    • 拉取远端最新内容避免冲突:
      git pull
      
    • 推送到GitHub远端仓库:
      git push
      
    • 推送完成后再删除本地的已推送文件即可。
  3. 注意GitHub免费版Git LFS有10GB总存储、每月1GB流量的额度限制,如果你的总文件量超过该额度需要升级付费方案,提前做好成本评估。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:06:06