为什么克隆的存储库比获取的存储库大 10 倍?

2024-01-08

我们有一个远程仓库,其大小已经爆炸(1.4G 到 14G)。我们正在尝试找出此存储库大小增加的原因并解决问题。

在这个过程中我们注意到 git clone 和 git fetch 之间的显着差异。

如果我们克隆仓库,克隆的仓库也是 14G。

git clone <remote>

相反,如果我们从远程初始化并获取,本地存储库将恢复到预期的 1.4G。

git init
git remote add origin <remote>
git fetch

我认为这两组命令即使不相同,也应该相似。

这表明克隆和获取之间存在显着差异。这些命令有何不同?

我们正在寻找确定遥控器修复方法。

请注意,远程位于 github 企业服务器上,因此我们对远程存储库的访问受到限制。


一些额外的统计数据

$ git clone git@$REMOTE/main.git .
Initialized empty Git repository in $HOME/cloned/.git/
remote: Counting objects: 439172, done.
remote: Compressing objects: 100% (238472/238472), done.
Receiving objects: 100% (439172/439172), 13.82 GiB | 19.92 MiB/s, done.
remote: Total 439172 (delta 186192), reused 436323 (delta 183501)
Resolving deltas: 100% (186192/186192), done.

$ git fetch
remote: Counting objects: 246663, done.
remote: Compressing objects: 100% (80057/80057), done.
remote: Total 246663 (delta 159364), reused 238800 (delta 153402)
Receiving objects: 100% (246663/246663), 1.13 GiB | 12.25 MiB/s, done.
Resolving deltas: 100% (159364/159364), done.

这些是一些非常不同的数字。


不同之处在于git fetch只会从现有分支和原始分支可访问的标签中提取所有提交。

然而,一个git clone将获取所有分支和所有现有标签可到达的所有提交。这是一个微妙的差异,但最有可能导致您所看到的情况。

您可以通过运行来测试这一点git tag在您的两个存储库中,看看它们是否列出了不同的标签。

如果是这样,你可以这样做git fetch --tags origin在您获取的存储库中,只有 1.4 gig,它将拉下所有这些额外的提交。

要“修复”此问题,您可以删除克隆中显示但提取的存储库中不显示的任何标签。只要确保您确实想要丢失提交历史记录即可!git tag -d <tagname> and git push :refs/tags/<tagname>对于每个不需要的标签。

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

为什么克隆的存储库比获取的存储库大 10 倍? 的相关文章

  • 如何使用 API 和 C# 将文件从 azure DevOps 服务器下载到指定路径

    我正在尝试使用 API 从 azure Devops 服务器下载文件 API 给出了成功响应 但是没有下载任何文件 如果我们删除格式参数 我们将获得带有文件链接的响应 单击该文件不会下载 示例代码 var personalaccesstok
  • Git:在本地合并远程分支

    我已经通过以下方式拉取了所有远程分支git fetch all 我可以看到我想要合并的分支git branch a作为远程 原点 分支名称 问题是它无法访问 我无法合并或结帐 您可以参考那些远程跟踪分支 列出git branch r 及其遥
  • git 分叉是如何工作的?

    所以我登录了 github 并 fork 了一个项目 每次原始存储库更新时 我的分叉存储库都会更新吗 或者我应该每次都从原始存储库进行分叉 这样我就不会错过对原始存储库所做的任何新更改 分叉是存储库的副本 分叉存储库允许您自由地尝试更改 而
  • 是否应该在 git 中跟踪 .history 文件夹中的文件[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 每当我进行更改时 history 文件夹中的某些文件在我的状态中都会显示为未跟踪 我将如何控制它 即 make 是自动添加或不添加这些内容 而不
  • git-svn SVN 作者文件的相对路径?

    我已经使用 git svn 从工作中克隆了一个 SVN 存储库 在最初的克隆过程中 我提供了一个 SVN 作者文件 当我进行初始克隆时 git 设置了authorsfile作为绝对路径 但是 我在工作机器和笔记本电脑上保留了这个 git 存
  • GitLab CI - 添加标签时避免构建

    添加 git 标签时如何防止触发 gitlab ci 管道 我在本地运行此命令 而不是在 gitlab ci 作业中运行 git tag a xyz 然后推送标签 这会触发各种管道 我想排除其中一些管道的运行 我正在尝试对诸如以下问题的想法
  • 为什么 git mergetool 说“没有文件需要合并”?

    我正在尝试将 BeyondCompare4 配置为 git 中的 difftool 和 mergetool 我使用的是 git 版本 2 5 0 windows 1 到目前为止 BeyondCompare4 作为 difftool 工作得很
  • Github 版本如何生成存档文件名?

    我刚刚在 github 上为我的 NFQL 软件创建了版本 这是发布页面 https github com vbajpai nfql releases https github com vbajpai nfql releases 对于最新版
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • “git rm --cached”、“git Restore --staged”和“git reset”之间有什么区别

    我遇到了以下三种方法来取消暂存由命令 git add 暂存的文件 git rm cached
  • 在 git 提交消息中使用任何 utf-8 字符是否安全?

    我发现使用 UTF8 字符 例如 很有用 请参阅here http www utf8icons com subsets dingbats 在提交消息中 重构 NewService 添加了更好的服务 OldServiceA 据我所见 它see
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • 本地git,推送到tfs远程repo

    我厌倦了向我的队友解释使用 DVCS 相对于 CVCS 的好处 他们中的一些人害怕学习曲线 另一些人则看不出任何原因 因为对他们来说 这都是一样的 就我个人而言 我对 TFS 及其问题感到非常厌倦 每当我需要进行一些小的 修复 时 我都必须
  • 通过链接进入 git-repo,无需冗长的对话框

    In a directory I have symbolic links into a git administered directory all under Linux Every time I want to e dit such a
  • Eclipse 与外部 src 和 Web 内容文件夹链接或映射

    首先这不是问题但是我遇到的问题的解决方案浪费了4 5个小时来找到解决方案 请让我知道是否有更好的替代方法来使用 eclipse 项目管理外部 src 文件夹 我正在使用版本控制系统 GIT 来管理我的项目 还使用外部 Git 客户端 Sou
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • 如何升级 Windows 中 git svn 使用的 SVN 版本?

    我的公司正在将SVN升级到1 7 检查git svn version显示正在使用的SVN版本是1 4 6 我想获得 git svn 使用的 SVN 版本接近 1 7 但是 我没有看到有关更新 git svn 使用的 SVN 版本 在 Win
  • Visual Studio Code 内置故事,用于查看 git 提交历史记录并对其内容进行比较

    In this https stackoverflow com questions 37899765 how can i view the git history in visual studio code 60013101 noredir
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits

随机推荐

  • JWT 不记名令牌流程

    我想要的是 ASP NET Core 中 JWT 生成和 JWT 消耗的方法 没有 OAuth2 流程 我确实有 IdentityServerv3 与 OAuth2 配合使用 但当我拥有双方时 对于访问 API 的单个应用程序来说 这有点过
  • Slick Slider slickGoTo 方法打破轮播

    我正在开发一个新闻文章页面 该页面也有一个图像库 我在用着光滑的滑块 http kenwheeler github io slick 用于画廊上的缩略图 图库中的每张图片都有自己的网址 用于广告查看目的 不太好 但我对此无能为力 例如 ou
  • 如何在flutter中定义自定义文本主题?

    如何制作自己的文字主题风格 我只找到这样的默认文本主题 但这还不够 textTheme TextTheme body1 TextStyle body2 TextStyle button TextStyle caption TextStyle
  • Python字典和集合内存分配

    I found 这个优秀的资源 https www safaribooksonline com library view high performance python 9781449361747 ch04 html讨论 python 字典
  • 如何在 Cypress 中存储图像的 src 并将其与另一个图像进行比较?

    测试目标是确认如果用户上传新图像 则上传图像的 src 属性会发生更改 这意味着图像已更改 我尝试使用几种方法 概述如下 第一种方法 cy get img then img gt store the src const source img
  • Chrome 会混淆使用 SVG 格式的网络字体设计的文本(有时)

    Demo http jsbin com onixik 2 http jsbin com onixik 2 内容如下 如果您在 Windows 上的 Chrome 中检查该演示 它可能看起来不错 也可能不太好 我所说的 OK 是指它并不引人注
  • 更改 tkinter 中的输入框背景颜色

    所以我一直在研究这个程序 但我发现很难找出问题所在 我对 tkinter 还很陌生 所以这可能很小 我试图让程序在按下复选按钮时更改输入框的背景颜色 或者更好的是 如果我可以动态地改变它 那就更好了 这是我目前的代码 TodayReadin
  • 在Java中无损JPEG旋转(90/180/270度)?

    是否有一个 Java 库可以以 90 度的增量旋转 JPEG 文件 而不会导致图像质量下降 我找到了这个 http mediachest sourceforge net mediautil http mediachest sourcefor
  • 使用 Azure 管道在特定的自托管服务器上运行

    在 Azure git 中 我正在运行一些自托管代理 它们位于名为 默认 的池中 在 Azure 管道 yml 文件 中 我可以告诉作业它必须在特定代理中运行 如下所示 pool name Default demands Agent Nam
  • 假装电报机器人正在打字?

    如何让机器人假装正在输入消息 当机器人假装打字时 聊天中会出现以下文本 我用的是蟒蛇aiogram https github com aiogram aiogram框架 但对原生 Telegram API 的建议也会有所帮助 我认真建议使用
  • MySQL CSV 导入 - 如果时间戳有毫秒,则日期输入为 0000-00-00 00:00:00?

    我目前有大量 CSV 需要导入到 MySQL 数据库中 这些文件包含每条记录的时间戳 其格式如下 例如 2011 10 13 09 36 02 297000000 我知道 MySQL 错误 8523 它表明不支持在日期时间字段中存储毫秒 尽
  • 如何强制 GCC 假定浮点表达式为非负?

    在某些情况下 您知道某个浮点表达式始终为非负数 例如 当计算向量的长度时 sqrt a 0 a 0 a N 1 a N 1 NB I am意识到std hypot 这与问题无关 并且平方根下的表达式显然是非负的 然而 海湾合作委员会outp
  • NHibernate WinForms 应用程序使用哪个缓存

    我有一个带有数据库后端 oracle 的 C WinForms 应用程序 并使用 NHibernate 进行 O R 映射 我想尽可能减少与数据库的通信 因为这里的网络非常慢 所以我阅读了有关二级缓存的内容 我发现这个很好的介绍 http
  • ELB 和 ECS 集群前面的 Amazon API Gateway

    我尝试将 Amazon API Gateway 放在应用程序负载均衡器前面 该负载均衡器可以平衡到我的 ECS 集群的流量 我的所有微服务都部署在该集群上 使用 API 网关的动机是通过 lambda 函数使用自定义授权方 系统图 用亚马逊
  • Asp.Net Core 1.1 在密钥环中找不到密钥

    VS 2017 中的默认项目 https i stack imgur com Y12YS jpg我在 vs 2017 社区中创建了一个新的 Asp net Core Web 应用程序并将其发布到 FTP 托管上 但是当我提交表单 登录或用户
  • 幂律与其他分布的比较

    我正在使用 Jeff Alstott 的 Python powerlaw 包来尝试使我的数据符合幂律 Jeff 的软件包基于 Clauset 等人讨论幂律的论文 首先 我的数据的一些详细信息 它是离散的 字数数据 它严重向左倾斜 高偏度 I
  • 如何在不阅读的情况下获取文件中的行数[重复]

    这个问题在这里已经有答案了 可能的重复 如何快速统计行数 https stackoverflow com questions 6101367 how to count lines fast 我有一些文件逐行包含数据 我想获取文件中的行数以向
  • 通过比较 2 个列表/行的相似度进行图像旋转匹配 OpenCV Python

    我拿一个模板 并从中抽取 8 个点 现在为 36 个 每个小点都是一个掩模 我从那个小点区域中取平均值 然后将它们添加到列表中 它最终看起来像这样 203 176 160 174 185 185 152 136 131 131 131 13
  • 在 Groovy 中计算赋值表达式

    我有这样的表达 def expr anything something 就我而言 上面的字符串来自网络服务 但它可能来自任何地方 我想对此进行评估 以便最终得到具有 某物 值的变量 anything 这样 assert anything s
  • 为什么克隆的存储库比获取的存储库大 10 倍?

    我们有一个远程仓库 其大小已经爆炸 1 4G 到 14G 我们正在尝试找出此存储库大小增加的原因并解决问题 在这个过程中我们注意到 git clone 和 git fetch 之间的显着差异 如果我们克隆仓库 克隆的仓库也是 14G git