git push 尝试推送 git ls-files 中未列出的文件

2023-12-03

我不小心在我的仓库中提交了一个不必要的大子文件夹 xxxxx,当我在推送时意识到这一点时,我中途停止了推送。

然后我使用以下命令从存储库中删除了不必要的文件夹 xxxxx

git rm -r --cached xxxxx

但同时ls-files不显示 xxxxx 文件夹,当我显示时 git 仍在尝试推送它git push:

git push --verbose
(...)

Counting objects: 19, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (18/18), done.
POST git-receive-pack (chunked) 
Writing objects: 100% (19/19), 132.93 MiB | 197.00 KiB/s, done.
Total 19 (delta 5), reused 0 (delta 0)
remote: warning: File xxxxx/a.csv is 72.22 MB; this is larger than GitHub Enterprise's recommended maximum file size of 50.00 MB
remote: error: GH001: Large files detected.
remote: error: File xxxxx/b is 112.37 MB; this exceeds GitHub Enterprise's file size limit of 100.00 MB

如何让 git 永久忘记“xxxxx”文件夹及其内容?


git push不推files,它推动commits。具体来说,它会推送您拥有而他们没有的提交(无论“他们”是谁 - 您要推送到的遥控器)。他们抱怨您的至少一项提交至少包含一个大文件。

您需要推送一些不同的提交,以便您推送的提交不包含大文件。

作为一般规则,执行此操作的方法是完整保留每个“好”提交,将其复制到新分支,对于每个“坏”提交,提取好部分,删除坏部分,然后进行新提交从结果中。例如,假设这是远程提交的绘图:

A <- B <- C <- D    <-- origin/master

假设您添加了三个提交,但中间一个出现了问题:

A - B - C - D       <-- origin/master
             \
              E - F - G   <-- master

当你跑步时git push你的 git 发送提交E, F, and G,而远程抱怨是因为F有不应该有的文件。要解决此问题,您只需复制E到一个新分支——我们称之为副本E'——然后复制但修复F使F',然后复制G使G'。我们也重命名旧的(“坏”)master;事实上,让我们完全删除这个名字,这样我们就可以得到这个:

              E' - F' - G'   <-- master
             /
A - B - C - D       <-- origin/master
             \
              E - F - G      [abandoned]

执行此复制的 git 命令是git rebase。通常它只是直接复制;你想要它而不是复制E,但然后停下来让你修复F,然后复制G,而实现这一点的方法是使用-i or --interactive flag.

一般来说,您应该只在更改时复制提交only you有,但幸运的是这正是那套git push应该推动,无论你推动什么分支,origin/branch(或者无论远程名称是什么,如果不是origin)将界定远程拥有(和其他人拥有)的提交。

交互式变基可以做的事情远不止这些,所以请参阅Git 书以获得指示。您还需要弄清楚哪些提交包含哪些大文件;为了这,git show and git diff是有用的工具。

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

git push 尝试推送 git ls-files 中未列出的文件 的相关文章

  • “git rm --cached”、“git Restore --staged”和“git reset”之间有什么区别

    我遇到了以下三种方法来取消暂存由命令 git add 暂存的文件 git rm cached
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • 将 svn 存储库添加到现有的 git 存储库中?

    我知道你可以使用 git svn init 来跟踪 svn 存储库 但这是为了你想创建一个全新的存储库 我的情况是 我目前已经有一个现有的 git 存储库 并且希望通过将 svn 存储库设为我当前 git 存储库中的远程分支来跟踪 svn
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • Python 无法在 git bash 命令行中工作

    Python 不会在 git bash Windows 中运行 当我在命令行中输入 python 时 它会将我带到一个空行 而不会像在 Powershell 中一样显示它已输入 python 2 7 10 它没有给我错误消息 但 pytho
  • git for-each-ref - 按年龄过滤结果

    我正在使用以下命令here https stackoverflow com a 39251131 5812876 git for each ref format color cyan authordate format m d Y I M
  • Git守护进程克隆错误

    All 我正在按照以下指示进行操作this SO https stackoverflow com a 377293 724357答案 快速提供回购 当我跑步时git clone git ipAddr git project我得到这个输出 r
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • 无法将 git add origin git@anything 与新的 git 目录一起使用

    我有一个项目 我正在生成许多提交 因此它占用的空间正在快速增长 由于我有一个 gitlab 页面来推送提交 因此我决定最好删除本地 git 目录中的这些旧提交 因为我始终可以从 gitlab 获取它们 为此 我只需删除本地 git 目录 然
  • 在 GitHub 上执行拉取请求时避免不需要的合并提交和其他提交

    我在 Github 上分叉了一个项目 令远程上游为upstream我的远程存储库是origin 我当地的master分支设置为跟踪远程master分支 然后我在本地添加了一些东西master 时不时与上游汇合 直到今天我想发出pull re
  • EGit(Eclipse git 插件)可以使用 SSH 密钥代替用户名和密码吗?

    我需要提交的 git 中央存储库是使用 SSH 密钥配置的 我的用户名是jmglov 但是当我执行 git 操作时 例如git clone 我使用这个配置 jmglov kitiara cat git config remote origi
  • 如何列出所有 GitHub 用户?

    我正在开发一个网站 需要从 GitHub 爬取所有用户信息 至少是我们网站上的用户 我搜索了 GitHub API 没有找到答案 那么我有什么办法可以完成这份工作吗 我只有用户的电子邮件 我可以通过将电子邮件哈希值与头像 URL 进行比较来
  • 如何将普通的 Git 存储库转换为裸存储库?

    如何将 普通 Git 存储库转换为裸存储库 主要区别似乎是 在普通的 Git 存储库中 你有一个 git存储库内的文件夹 包含构成工作副本的所有相关数据和所有其他文件 在裸露的 Git 存储库中 没有工作副本和文件夹 我们称之为repo g
  • 如何通过哈希显示提交的日期和时间

    I used git reflog识别我创建特定分支时的哈希值 我得到了哈希值fe1ddcdef 我还没有将此分支推送到远程 我现在正在尝试查找日期和时间fe1ddcdef发生 git reflog只告诉我 fe1ddcdef HEAD 1
  • 如何查看 github 的 SSH 密钥?

    我最近收到一封来自 Github 的电子邮件 要求我检查我的 SSH 密钥 请检查您的钥匙并确保您 认出他们 如果您有任何疑问 请拒绝钥匙并 上传新密钥 如何在 ubuntu 11 10 上使用 git 检查我的密钥 您可以按照 GitHu
  • Eclipse 与外部 src 和 Web 内容文件夹链接或映射

    首先这不是问题但是我遇到的问题的解决方案浪费了4 5个小时来找到解决方案 请让我知道是否有更好的替代方法来使用 eclipse 项目管理外部 src 文件夹 我正在使用版本控制系统 GIT 来管理我的项目 还使用外部 Git 客户端 Sou
  • git checkout 到分支需要很长时间

    我使用的是 Ubuntu 17 10 并且使用 git 版本 2 14 1 每当我从 master 创建一个分支并尝试签出它 或从它签出到 master 时 都会花费大量时间 大约几分钟 有时接近 10 分钟 确实 我有几 GB 的数据 但
  • 如何升级 Windows 中 git svn 使用的 SVN 版本?

    我的公司正在将SVN升级到1 7 检查git svn version显示正在使用的SVN版本是1 4 6 我想获得 git svn 使用的 SVN 版本接近 1 7 但是 我没有看到有关更新 git svn 使用的 SVN 版本 在 Win
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 致命:无法将 HEAD 解析为有效引用

    我正进入 状态fatal Failed to resolve HEAD as a valid ref 每当我尝试承诺时 我努力了 echo ref refs heads master gt git HEAD 但它不起作用 也尝试过 git

随机推荐

  • Typescript 类继承中具有不同签名的方法

    有人可以解释一下为什么下面的代码片段会引入错误吗 谢谢你 class Base greet console log Hello world class Derived extends Base Make this parameter req
  • 对 thread_position_in_grid 感到困惑

    我正在 macOS 上的 Metal 中开发计算着色器 我正在尝试做一些非常基本的事情来了解它们是如何工作的 我看到一些我不明白的输出 我想我应该首先尝试生成一个简单的二维渐变 红色通道将沿宽度从 0 增加到 1 绿色通道将沿高度从 0 增
  • Ajax/php 标头:位置

    我有一个带有 Ajax 登录表单的 Bootstrap 模式 显示错误 一切正常 直到结果登录 php is header Location index php 我这样处理结果 var hr new XMLHttpRequest Set c
  • 为 R 中所有列的多行创建摘要(第 90 个百分位)统计数据的新数据框

    我正在开展一个学校项目 有一个包含 4 000 行的数据集 有 40 名参与者 每人大约有 100 行 我想创建一个数据集 将每个参与者的行折叠成汇总统计数据 最好是第 90 个百分位 我知道如何用 dplyr 找到平均值 Means lt
  • 如何在详情页面绑定实体对象

    我正在使用 SAP UI5 开发一个主细节 Fiori 应用程序 由于详细信息包含 40 多个列 因此我为主表和详细信息制作了单独的 OData 服务 在母版页中 数据正确输入 现在我的任务是 在任何表格行上 当用户单击 详细信息 时 将打
  • Python:酸洗模块的替代方案

    我正在编写我的程序 大蒜模拟器 其中用户创建一个模拟 然后他可以按照自己的意愿操纵它 然后可以将其保存到文件中 我最近尝试实现保存功能 我想到的自然的事情就是腌制Project对象 其中包含整个模拟 问题是 Project对象还包括一个模块
  • self 类型注释中 this 和 self 之间的区别?

    在各种 Scala 文献中 我看到一些使用 this 的自我类型注释 以及其他使用 self 的自我类型注释 trait A this B gt trait A self B gt 使用 this 或 self 之间有什么真正的区别吗 你用
  • 扩展类继承静态变量值(PHP)吗?

    如果我有一个包含静态变量的基类 然后设置这个静态变量 然后有一个扩展基类的类 扩展类是否会保留我已经在基类中设置的静态变量的值 是的 虽然它们是不同的变量 但两个类中的静态变量位于同一引用集中 不过 您可以通过使用引用分配来破坏此引用集 或
  • 如何按索引组合两个 RDD[String]?

    我正在使用 Spark RDD 并创建了两个相同长度的数组 一个是推文的小时数 另一个是推文的文本 我希望将它们组合成一个数据结构 也许是一个元组 我可以按时间和推文文本进行过滤 但在组合后我在如何执行此操作方面遇到了困难 scala gt
  • 以非交互方式运行 Build.pl

    When Build pl某些 Perl 项目的运行在以前未用于 Perl 开发的系统上 如果用户想要在安装前添加某些包 它会一次又一次地中断 有什么方法可以让非交互式默认运行Build PL无需观看几个小时并一次又一次地按 输入 键 PE
  • 重试承诺步骤

    假设我有以下 Promise 链 var result Promise resolve filename then unpackDataFromFile then transformData then compileDara then wr
  • 返回并重新加载页面

    我的 ASP NET Framework 4 Web 项目中的导航存在问题 我在主页上有一个登录字段 母版页还包含一个 ContentPlaceHolder 它动态包含其他 aspx 页面 我从页面 a 开始并导航到页面 b 当我登录页面
  • 使用 iOS 7 在 iPad 上以 2x 模式启动应用程序

    在 iOS 7 之前 在 iPad 上打开的 iPhone 应用程序通常以 2x 模式启动 iOS 7 似乎强制所有应用程序 即使它们不是为 iPad 设计的 以 1x 模式启动 我们如何强制我们的应用程序在使用 iOS 7 的 iPad
  • Tensorflow 准确度为 0.99,但预测结果很糟糕

    也许我的预测是错误的 这是该项目 我有一个灰度输入图像 我正在尝试对其进行分割 分割是一个简单的二元分类 考虑前景与背景 所以基本事实 y 是一个由 0 和 1 组成的矩阵 所以有 2 个分类 哦 输入图像是一个正方形 所以我只使用一个名为
  • 是否可以在 javascript 中像媒体查询一样使用 css?

    我想知道是否有一种方法可以使用媒体查询javascript就像我在 CSS 中使用它一样 我想处理设备宽度 or 方向并触发一个函数 现在我正在使用这段代码 window onresize function event test for v
  • 字典中元素的配对组合,不重复

    在Python中 我有一个像这样的字典 pleio firstLine enf1 54 set enf2 48 free enf3 34 set enf4 12 free secondLine enf5 56 bgb enf6 67 kio
  • int[ ] 中未分配的值

    想知道在 C 中未分配的整数的值是多少int 通常是 Example int arr 5 arr 1 2 arr 3 4 for int i 0 i lt 5 i cout lt
  • 将 UTC 转换为当前区域设置时间

    我正在从 Web 服务下载一些 JSON 数据 在此 JSON 中 我有一些日期 时间值 一切都以 UTC 时间为准 如何解析此日期字符串 以便结果 Date 对象位于当前区域设置中 例如 服务器返回 2011 05 18 16 35 01
  • jQuery UI Datepicker:当今天也被选中时不突出显示

    我正在使用jQuery 日期选择器选择日期 它工作正常 除了我想更改 1 个默认行为 当您选择一天时 所选日期会突出显示 我喜欢 当前日期也被突出显示 但使用不同的 css 样式 我也喜欢 但是 如果您选择当天 则突出显示 因为它是当天 因
  • git push 尝试推送 git ls-files 中未列出的文件

    我不小心在我的仓库中提交了一个不必要的大子文件夹 xxxxx 当我在推送时意识到这一点时 我中途停止了推送 然后我使用以下命令从存储库中删除了不必要的文件夹 xxxxx git rm r cached xxxxx 但同时ls files不显