首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何计算提交后推送的文件大小?

要计算提交后推送的文件大小,你需要知道如何使用命令行工具来获取这些信息。以下是在Git中计算提交后推送的文件大小的方法:

方法一:使用 git showdu

  1. 获取提交的哈希值: 首先,你需要知道你想要检查的提交的哈希值。你可以通过以下命令获取最近的提交哈希值: git log -1 --pretty=format:"%H"
  2. 使用 git show 获取文件列表: 使用 git show 命令来获取该提交中所有更改的文件列表及其状态(添加、修改、删除)。 git show --name-status <commit-hash>
  3. 计算文件大小: 使用 du 命令来计算每个文件的大小,并累加它们。 git show --name-status <commit-hash> | awk '{if ($1 != "D") print $2}' | xargs du -b | awk '{total += $1} END {print total}' 这个命令的解释:
    • git show --name-status <commit-hash>:显示指定提交中所有更改的文件及其状态。
    • awk '{if ($1 != "D") print $2}':过滤掉删除的文件(状态为"D"),只保留添加和修改的文件。
    • xargs du -b:对每个文件运行 du -b 来获取其字节大小。
    • awk '{total += $1} END {print total}':累加所有文件的大小并输出总和。

方法二:使用 git diffgit cat-file

  1. 获取提交的哈希值: 同样,你需要知道你想要检查的提交的哈希值。
  2. 使用 git diff 获取差异摘要: 使用 git diff 命令来获取两个提交之间的差异摘要,包括每个文件的更改类型和大小。 git diff --numstat <commit-hash>^ <commit-hash>
  3. 计算文件大小: 解析 git diff --numstat 的输出来计算总大小。 git diff --numstat <commit-hash>^ <commit-hash> | awk '{total += $1; inserted += $2; deleted += $3} END {print "Total size:", total, "bytes"; print "Inserted:", inserted, "bytes"; print "Deleted:", deleted, "bytes"}' 这个命令的解释:
    • git diff --numstat <commit-hash>^ <commit-hash>:显示两个提交之间的差异摘要,包括添加和删除的字节数。
    • awk 脚本累加这些值并输出总和。

注意事项

  • 这些命令假设你的Git仓库已经正确配置,并且你有权限访问所有相关的文件和提交。
  • 如果你在计算过程中遇到权限问题,可能需要使用 sudo 或者调整文件权限。
  • 对于大型仓库或频繁更改的文件,这些命令可能会运行较慢,因为它们需要处理大量的文件和数据。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 设置消息提醒,实时推送扫码提交数据

    功能介绍设置消息提醒,可以将提交表单数据用实时消息推送给指定成员,以便快速查看和跟进。比如:巡检人员发现设备状态异常时,只需提交一条异常记录,系统将自动向设备管理员、维修人员等多人进行消息推送。...设置消息提醒类型任意数据提交时:当有新记录时立即通知指定消息接收人满足条件数据提交时:当有人提交了符合特定条件记录时,通知指定消息接收人3....添加消息接收人可选择组织内任意成员,或选择整个部门/身份组,部门或身份组中所有成员都会收到提醒。选择“负责人”,可实现:不同码上数据提醒给对应码负责人和码所在分区负责人。4....选择消息接收方式草料二维码 公众号(默认):接收人需关注草料公众号并绑定账号企业自己公众号:付费行业专属版可联系客服配置,接收人关注企业自己公众号,形成内部消息系统草料二维码 企业微信应用:将账号集成至企业微信版...还可将数据推送到企业微信群、钉钉群、飞书群等工作群聊。

    10010

    解决sqlite删除数据或者表文件大小不变问题

    原因: sqlite采用是变长纪录存储,当你从Sqlite删除数据,未使用磁盘空间被添加到一个内在”空闲列表”中用于存储你下次插入数据,用于提高效率,磁盘空间并没有丢失,但也不向操作系统返回磁盘空间...,这就导致删除数据乃至清空整个数据库,数据文件大小还是没有任何变化,还是很大 解决方法有以下两种: 1、sqlite3中执行vacuum命令即可。...但是第二个方法同样有缺点,只会从数据库文件中截断空闲列表中页, 而不会回收数据库中碎片,也不会像VACUUM 命令那样重新整理数据库内容。...实际上,由于需要在数据库文件中移动页, auto-vacuum 会产生更多碎片。而且,在执行删除操作时候,也有那个.db-journal文件产生。...数据库中需要存储一些额外信息以记录它所跟踪每个数据库页都找回其指针位置。 所以,auto-vacumm 必须在建表之前就开启。在一个表创建之后, 就不能再开启或关闭 auto-vacumm。

    1.9K20

    Django -- 如何优雅提交表单

    前言 前面的内容我们基本上以 get请求作为例子,那 post请求Django是如何处理呢?本章内容我们就来介绍Django如何发起和处理 post请求。...br> 在html文件中,我们定义了一个Form 表单,提交这个表单会改变服务端数据...request.POST 是一个类字典对象,让你可以通过关键字名字获取提交数据,需要注意是,返回值永远是字符串。...如 age=forms.IntegerField(required=True) 就会对 请求中 nage 为 age 字段进行校验,判断它是否为必填(是否传了),只有所有字段都通过校验才能进行下面的逻辑...我们一般推荐不用表单渲染,因为样式不受自己控制,另外当我们 is_valid()返回true ,我们可以通过 cleaned_data属性中找到所有通过验证表单数据,这个大家可以自己探索下。

    3.3K20

    Linux下du和ls计算文件大小竟然差10倍?

    后来想起来,du查找时候是按照block大小计算计算是实际占用磁盘空间大小,但即便这样,按道理,和ls命令查出来大小不会差太多,但是凡事有例外 linux中有一种文件叫做sparse file...,它可以延迟分配磁盘空间,类似于我们用虚拟机,在创建虚拟机时候,可以分配20G磁盘空间,但是你创建完,去查看宿主机磁盘占用,确实际没有占用那么多 Sparse File专业名称叫稀疏文件,这是Unix...类和NTFS等文件系统一个特性 开始时,一个sparse file不包含数据,也没有分配到用来存储用户数据磁盘空间。...很显然,我上面遇到就是一个Sparse File,那么这么大一个sparse file,怎么处理?...ls -l --block-size=G smartorder.log.tar -rw-r--r-- 1 root root 10G Oct 21 09:57 smartorder.log.tar 如何查找系统上

    1.1K10

    提交App Store被拒四次总结

    最近提交了一个APP,连续被拒了四次,第五次才通过。实属汗颜?。记录一下问题,给遇到同样问题小伙伴提供个思路。...于是去App Store下载了几个最近更新新版本APP,无一例外,启动全部弹框 提示用户隐私策略概要,然后点击查看详细隐私策略。如下: ?...33.png OK,再次提交,满怀欣欣这次应该能过吧!很多事实告诉我们希望越大失望也就越大。。。 第四次提交被拒原因 这次被拒没了以前问题,看了之前修改是没问题了。...这次不用打包了,直接把5.8尺寸删了,没错,就是直接删了,因为本身就是可选。我只有一个5.5。 再次提交审核。 OK ,第二天通知我审核通过。...所以,上架时候不要抱有侥幸心里,老老实实,把该做都做了,不要投机取巧,不要怀疑苹果大大审核能力。 苹果审核速度越来越快了,基本上今天提交,隔天就能通知结果。

    1.6K20

    AppStore中使用IDFA提交应用注意事项

    CPA广告商在ios7上使用就是IDFA,所以我们必须要用它,用它就无法绕开一个问题就是:提交版本时如何选择才不会被苹果打回?...关于IDFA相关资料,网上已经很多了,这里主要说明二点: 1、如何获取IDFA并保存至keychain; 2、提交应用时如何选择; string strRet; NSString *identifier...但网上关于这个提问题倒很多,已经上线给出建议和解决方案却并不多。因为我们项目已经提交并审核通过了,这里只是记录一下 ?...没有涉及到广告宣传,仅仅只是跟踪用户转换率之类,勾选第一项。如何有显示广告就勾选第二、三项,如何都有用到就全部勾选吧。...我暂时是这么理解,如有不对地方,欢迎斧正 :) 希望使用了IDFA伙伴们,在提交应用时候不用太苦恼,毕竟提交一次,waiting for review也需要一段时间,来来回回挺折腾

    1.2K20

    百度站长链接提交js代码推送进化版

    百度站长平台提供链接索引自动提交 JS 脚本已经有一段时日了。用百度自己的话讲:JS 链接推送代码以网页为最小对象,服务于全平台多终端,PC 站和移动站均可使用。...安装代码页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容发现速度。...最后,一点感想 自动推送是一个很实用方法,它门槛低,容易部署,但是也有一些小问题。本文只是提供了一种方法来改进自动推送效率和效果。...需要注意是百度随时可能更新这两个 js 文件内容,虽然该功能上线一直没有更新不代表以后不会更新,因此需要手动及时更新代码。 沈唁志|一个PHPer成长之路!...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:百度站长链接提交js代码推送进化版

    2.3K60

    疫情时代边缘计算未来

    物联网、5G以及AR / VR兴起一直在推动将计算带入网络边缘需求。但是现在,在新冠病毒COVID-19大流行中,对高速网络日益增长需求正以前所未有的速度加速发展。...面对挑战 尤其对于服务提供商而言,边缘计算面临着独特挑战。边缘解决方案激增意味着设备部署速度一直比人类管理它们速度快。...边缘消费未来 随着优势腾飞,它从根本上改变了服务提供商考虑其基础架构方式。边缘越来越多地被视为通常由服务提供商提供和管理优质资产,将通过AI和机器学习进行优化,以实现几乎无限业务目的。...一旦释放了这种高度身临其境边缘计算能力,我们就会看到应用和新工作负载出现在边缘,这是五年前简直无法想象。 展望未来,不仅仅是服务提供商能从中获利。...很快,边缘云环境将是开放、安全且云原生,具有可预测和可扩展操作,可满足广泛企业,消费者和电信工作负载。边缘云将具有集成安全性,以减小任何安全漏洞爆炸半径。

    23120

    如何使用Git提交我们代码

    如何使用Git提交我们代码 Git介绍以及工作流程 属性介绍 工作区: 就是你在电脑里能看到目录。 暂存区: 英文叫 stage 或 index。...如下图所示:根据它所提示步骤往下走,我们先配置本地用户名和一些信息,用于标识提交者,再进行添加、提交等操作。...,上面的两个推送命令只是默认为本地分支名了,偷个小懒,这个也可以省略,不过该命令没有追踪远程分支,所以以后也都要使用完整命令,而不能直接git push 提交仓库步骤 git pull: 拉取远程仓库最新代码...rebase 可以帮助项目中提交历史干净整洁, 只对尚未推送(push)或分享给别人本地修改执行变基操作清理历史,从不对已推送至别处提交执行变基操作。...下表列出了有关创建与提交项目的快照命令: 添加文件到暂缓区(.git/index) 提交日志 查看历史提交记录 远程操作 远程仓库操作 分支命令 列出本地所有的远程分支

    94030
    领券