删除大文件后 git Push

2024-03-20

我不小心提交了 log/test.log 但从未推送过它。从那以后我做了一个 git rm 来摆脱它。但是当我尝试推送时,我仍然收到大量数据试图传输。 git rm 不应该解决这个问题吗?如果没有,我该如何修复它?


不要恢复提交然后推送,因为大文件仍然会保留在历史记录中。

鉴于您尚未推送它并且您要重做的提交是最新的,请从历史记录中删除该提交:


$ git reset HEAD^  

这将使您的索引返回到父提交时的状态(HEAD^)。现在你有了一个调度:按照你第一次的方式添加和提交。

如果您进行了其他后续提交,则需要git rebase -i <commit> where <commit>是错误提交父级的 SHA-1。

例如(请注意,您的存储库中的 SHA-1 会有所不同)


$ git rebase -i 57d0b28  

会将您带到类似于的编辑器中


pick 366eca1 This has a huge file
pick d975b30 delete foo
pick 121802a delete bar

# Rebase 57d0b28..121802a onto 57d0b28
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#  

Replace pick with edit面临沉重的承诺


edit 366eca1 This has a huge file
pick d975b30 delete foo
pick 121802a delete bar  

保存并退出编辑器以返回 shell,您将在其中看到以下形式的消息


Stopped at 366eca1... This has a huge file
You can amend the commit now, with

    git commit --amend

Once you are satisfied with your changes, run

    git rebase --continue  

从那里删除有问题的文件(--cached仅从索引中删除文件)


$ git rm --cached big-nasty-file
rm 'big-nasty-file'  

修改提交


$ git commit --amend  

并完成变基


$ git rebase --continue  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除大文件后 git Push 的相关文章

  • Visual Studio 2013删除已删除的git分支

    我遇到这个问题 在 VS2013 中 当我从源创建一个新分支时 源分支的下拉列表列出了曾经创建的所有分支 这包括长期从本地存储库和远程 源存储库中删除的分支 如何删除已删除的分支 Visual Studio 将它们保存在本地缓存中 您可以从
  • 全局 git 配置数据存储在哪里?

    使用时git config global要进行设置 它将写入哪个文件 Example git config global core editor blah 我在这些地方找不到它 C Program Files Git etc gitconf
  • “Git 推送非快进更新被拒绝”是什么意思?

    我正在使用 Git 来管理我的两台计算机和我的开发 我尝试将更改提交到 GitHub 但收到此错误 无法将一些参考推送到
  • 如何在 VS Code 中仅提交跟踪文件?

    git status 显示以下三个信息 要提交的变更 分阶段变更 未暂存提交的更改 未暂存更改 未跟踪的文件 我曾经git commit a 它提交 1 和 2 然而VS代码Commit All提交 1 2 和 3 Commit Stage
  • 如何为新的 eclipse (neon) java 项目初始化 git

    我安装了 eclipse Neon 的新副本 并在一个新的闪亮工作区中创建了一个新的 gradle java 项目 将 git 添加到聚会中的最佳实践是什么 我读到在项目目录中初始化 git 是真是个坏主意 https stackoverf
  • Git 子模块在 Windows 上更新缓慢

    Git 子模块在 Windows 上似乎非常慢 为了测试性能 我创建了 3 个裸存储库并向它们提交了 3 条独立消息 未存储文件 然后 我将每个裸存储库作为子模块添加到新的 git 存储库中 并执行子模块更新 花费了 5 秒多的时间 当使用
  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • 如何在 Android Studio 中比较两个 Git 分支?

    我不确定是否可以将主分支 或任何其他分支 与当前功能分支进行比较 例如GIT does 我想要两个分支 主分支和功能分支 之间的差异 以便我可以在合并之前比较差异 我发现 Git UI 对用户不太友好 就像在 AS 中一样 我可以遍历代码并
  • 如何在 git diff 中按标点符号拆分单词?

    我对以下命令有一些运气 git diff color words lt gt space lt gt 但它似乎没有在第一个字符类中正确地否定方括号 我试过这个 git diff color words lt gt space lt gt 为
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • 如何像对待普通目录一样对待嵌套存储库(子模块)?

    我的 WordPress 网站是使用 Git 进行版本控制的 包括wp content plugins 文件夹 现在有一个插件 wp editormd 带有自己的 Git 存储库 wp content plugins wp editormd
  • 如何重命名 GitHub 网站上的目录/文件夹?

    我在 GitHub 网站上找到了一种方法rename https github com blog 1436 moving and renaming files on github一个文件并成功完成 我也找到了一种方法rename https
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c
  • 在 git repo 中查找超过 x MB 且 HEAD 中不存在的文件

    我有一个 Git 存储库 用于存储随机的内容 主要是随机脚本 文本文件 我设计的网站等 随着时间的推移 我删除了一些大型二进制文件 通常为 1 5MB 这些文件会增加存储库的大小 而我在修订历史记录中不需要这些文件 基本上我希望能够做到 m
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢

随机推荐

  • 颜色条最小值和最大值

    如何手动更改绘图中颜色条的最小值和最大值 例如 如何将下图中颜色条的最小值设置为 0 import plotly express as px import numpy as np df px data gapminder query yea
  • 将结果写入同一 Excel 文件中的 2 个不同工作表中

    你能教我Python是否可以写入同一个Excel文件 但2个不同的电子表格 选项卡 举例来说 我想挑选并写入以下4个网站的标题 并将它们写入同一个文件title xls中 但分别写入其Sheet1和Sheet 2中 www dailynew
  • jQuery - 从值数组中按值选择元素

    给出一些简单的 JSON 62689 62690 62697 我需要在 DOM 中选择与这些值相对应的三个元素 基于value属性 他们可能是一个
  • 处理存储在配置文件中的变量的最佳实践是什么?

    如果我使用配置文件来存储例如站点名称 数据库主机等 处理此问题的最佳实践是什么 sitename stackoverflow com 然后在函数中设置全局 sitename DEFINE SITENAME stackoverflow com
  • wxWidgets的EVT_CHAR_HOOK有什么作用?

    我正在维护一个 wxWidgets C 应用程序 它使用 EVT CHAR HOOK 来捕获高级窗口中的关键事件 我找不到此事件的任何真实文档 但我可以推测它以某种优先于 标准 关键事件的方式拦截关键事件 我刚刚发现的一件令人不安的事情是
  • Angular2 使用 ngFor 绑定数组

    我使用的是 angular2 在我的表单中 我通常创建一个模型类并将我的对象与表单绑定 然后通过 this myObject 进行访问 div class form group div
  • spring data redis主从配置

    以下是我的 jedis 配置 Bean public JedisConnectionFactory getJedisConnectionFactory JedisConnectionFactory jedisConnectionFactor
  • 从包含多个文档的语料库中删除行

    我的语料库中有 4000 个文本文档 作为数据清理的一部分 我想从每个文档中删除包含特定单词的行 例如 library tm doc corpus lt VCorpus DirSource C TextMining Prototype pa
  • iOS 13中的prefersStatusBar隐藏问题

    大家好 我想隐藏我的状态栏 in a View Controller但它似乎不起作用 我使用了该功能 override var prefersStatusBarHidden Bool return true 我还设置了View contro
  • Parse Javascript SDK -- 将客户端 `user` 保存为服务器端 ` Parse.User.current()`

    我可能在概念上做错了事情 所以请告诉我我是否错了 我正在使用 Parse 的 Facebook 登录来登录用户客户端 然后我尝试发布这个user object到我的服务器 这样我就可以在服务器端拥有该用户对象 但我在文档中找不到与此相关的任
  • xcode swift 如何分割图像?

    我正在使用 Swift 2 0 我想将图像分割成多个部分 我知道这是重复的 但它们的语法很旧 我在更新时遇到问题 update Xcode 8 2 1 斯威夫特 3 0 2 您可以添加此扩展来分割图像 extension UIImage v
  • ng 升级命令将 cli 从 v7 升级到 v8 失败

    用于将 cli 版本从 v7 项目更新到 v8 的 ng Upgrade 命令失败 首先手动尝试升级 cli 也会失败 ng update angular cli 您的全局 Angular CLI 版本 8 0 1 高于您的本地版本 版本
  • sklearn RandomForestClassifier 与 auc 方法中 ROC-AUC 分数的差异

    我分别从 sklearn 的 RandomForestClassifier 和 roc curve auc 方法收到不同的 ROC AUC 分数 以下代码得到了 0 878 的 ROC AUC 即 gs best score def tra
  • 斜杠和 python cmd

    我正在尝试使用 cmd 模块来实现 python cmd 我想自动完成文件 所以我实现了一些方法 但是 我看到 complete put self text line begidx endidx 中的文本参数删除了所有 字符 任何人都知道为
  • 如何将 AsParallel 与 async 和 wait 关键字一起使用?

    我正在查看某人的异步示例代码 并注意到其实现方式存在一些问题 在查看代码时 我想知道使用并行方式循环列表是否比正常循环列表更有效 据我所知 性能上的差异非常小 两者都耗尽了每个处理器 并且完成时间都相同 这是第一种方法 var tasks
  • 启动 python windows 服务可执行文件时出错

    我正在尝试按照指示创建一个 python windows 服务 https www thepythoncorner com 2018 08 how to create a windows service in python https ww
  • 如何增加/减少 x 和 y 刻度标签的字体大小[重复]

    这个问题在这里已经有答案了 我似乎在弄清楚如何增加或减少fontsize使用时的 x 和 y 刻度标签matplotlib 我知道有set xticklabels labels fontdict None minor False kwarg
  • sqlalchemy 连接失败但 cx_oracle 成功

    我正在尝试用 Python 连接到 Oracle 服务器 我在 cx Oracle 中可以正常工作 但是当我尝试使用 sqlalchemy 连接时 它失败了 cx Oracle代码 import cx Oracle import panda
  • 我应该如何使用tiny_mce_popup.js 更新 TinyMCE 插件版本 4?

    TinyMCE4 文档目前很糟糕 我有一个与 Ruby on Rails 兼容的插入图像插件 但它依赖于已弃用的tiny mce popup js 没有关于我应该如何更新插件以规避该文件的使用的信息 TinyMCE 4 弃用旧版本file
  • 删除大文件后 git Push

    我不小心提交了 log test log 但从未推送过它 从那以后我做了一个 git rm 来摆脱它 但是当我尝试推送时 我仍然收到大量数据试图传输 git rm 不应该解决这个问题吗 如果没有 我该如何修复它 不要恢复提交然后推送 因为大