Git - 查找索引中单个文件的 SHA1

2024-01-04

我已将一个文件添加到“索引”:

git add myfile.java

如何找到该文件的 SHA1?


这是一个老问题,但有一件事需要澄清:

这个问题和下面的答案讨论Git 哈希值一个文件的不完全一样 “该文件的 SHA1”正如问题中所问。

简而言之:

如果您想获得索引中文件的 Git 哈希值 - see CB Bailey 的回答 https://stackoverflow.com/questions/460297/git-finding-the-sha1-of-an-individual-file-in-the-index#answer-460422:

git ls-files -s $file

如果您想获得文件系统上任何文件的 Git 哈希值 - see cnu的回答 https://stackoverflow.com/questions/460297/git-finding-the-sha1-of-an-individual-file-in-the-index#answer-460315:

git hash-object $file

如果您想获得文件系统上任何文件的 Git 哈希值,并且您没有安装 Git:

(echo -ne "blob `wc -c < $file`\0"; cat $file) | sha1sum

(上面显示了 Git 哈希值的实际计算方式 - 它不是文件的 sha1 和,而是字符串的 sha1 和“斑点大小\0内容” where "blob"实际上是一个字符串“blob”(后面跟着一个空格),SIZE是以字节为单位的文件大小(ASCII 十进制),"\0"是空字符并且CONTENT是实际文件的内容)。

如果你想得到“该文件的 SHA1”正如问题中所问的:

sha1sum < $file

如果你没有sha1sum您可以使用shasum -a1 or openssl dgst -sha1(输出格式略有不同)。

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

Git - 查找索引中单个文件的 SHA1 的相关文章

随机推荐

  • 如果应用程序关闭,则反应导航深度链接不起作用

    当应用程序打开时 深度链接工作得很好 但当关闭时 它只打开我的应用程序 当我检查警报时 我想要的数据到达 getInitialUrl 部分 但没有数据到达订阅 最后的办法就是在这里发帖 我真的不明白 您的帮助对我来说非常重要 Main Ac
  • 如何使 JFrame 具有一定的大小,不包括边框?

    我有一个 JFrame 已使用 setBounds 设置为特定大小 然而 这使得窗口 包括边框 达到这个尺寸 事后看来这是完全有道理的 但我想要的是窗口的大小 例如 800x600plus边界 这很重要 因为我正在从 JFrame 的 Bu
  • QT:使函数在某个时刻暂停一段时间

    我有 QT 问题 我想让我的程序在我定义的地方停止 比如说 3 秒钟 我没能做到这一点 我需要它 因为早些时候我的程序生成文件 并且它被我稍后调用的程序使用 问题是 该文件似乎没有足够的时间来创建 我的代码如下所示 void MainWin
  • 重建时,以基本形式定义的自定义属性将失去其继承形式的状态

    我在处理基本表单的属性时遇到问题 无法以继承的形式维护状态 环境 Visual Studio 2010 终极服务包 1 版本 10 0 40219 1 SP1Rel Net框架 版本4 0 30319 SP1Rel Windows 7旗舰版
  • 带有 Spring-Boot/Security 的 Null @AuthenticationPrincipal

    我根据以下内容设置了我的 Spring Security 应用程序参考文件 http docs spring io spring security site docs current reference htmlsingle 经过几个小时的
  • junit 测试-assertEquals 异常

    如何使用assertEquals来查看异常消息是否正确 测试通过了 但我不知道它是否遇到正确的错误 我正在运行的测试 Test public void testTC3 try assertEquals Legal Values Packag
  • 易失性是否足以更改对列表的引用?

    假设我们有一个列表引用 volatile List a 现在线程 1 初始化它 List newA new LinkedList lt gt newA add new String a Write to a volatile a newA
  • 使用 cookie 的 ASP.NET Web api“记住我”功能

    我正在尝试实施一个 记住账号 我的功能Web Api项目 我想 有记住账号当用户使用时的功能Sign In save a cookies用于保持用户始终登录 以便用户无需键入username and password他们每次访问网站时 通过
  • 私有属性的命名约定

    我见过下划线用作私有属性的前缀 private var aPrivateVar String I am private 我见过它们没有被使用过 private var aPrivateVar String I am private 从语法上
  • 如何使用C-API在Lua 5.1中创建表中表?

    我需要在 Lua 中创建这样的结构5 1C API 不在 Lua 5 2 及以上版本中 a b c d e GOOD print a b c d e 预期结果 良好 感谢您的解答 Lua C API 是基于堆栈的 这意味着大多数 C API
  • 如何以编程方式创建全屏TableLayout(表格高度意外折叠)

    下列TableLayout完全符合我的要求 它填充其父级并且列均匀拉伸
  • 如何在 github 存储库中执行状态检查

    我有一个 GitHub 存储库 在其中我使用以下新功能保护一个分支受保护的分支 https github com blog 2051 protected branches and required status checks 现在我的问题是
  • Bash 中“${!x}”间接扩展的安全注意事项

    假设我有一个变量 说x 包含未知的任意数据 以下间接扩展是否存在代码注入或其他形式的漏洞利用的风险 ARBITRARY COMMAND x 我知道有些情况下x分配给有用的现实生活场景本身可能会带来风险 需要适当控制或清理 但我在这里假设x已
  • 在 Woocommerce 订单和电子邮件中显示产品变体的自定义字段

    我成功地在 WooCommerce 后端添加了产品变体的自定义字段 并能够显示其值 我也想在订单和电子邮件中包含此值 Display Fields in admin on product edit screen add action woo
  • Flash AS3 中的文本链接

    因此 我自己为一些通过 Dropbox 工作的朋友制作了一个 wiki 式的应用程序 这意味着所有文件都存储在本地并由每个人更新 每个文件都是由 Flash 拉入的 txt 文件 然后使用简单的导航和搜索工具显示 现在我正尝试更进一步并链接
  • 在 Rmarkdown 中的每个部分中创建引用

    我想使用 Rmarkdown 但我读到的是 当使用 pandoc 创建参考书目时 引用位于文档末尾 pandoc citeproc 问题 多个参考书目 nocite citeonly https groups google com foru
  • 在 .NET 中处理和返回值

    考虑以下 TextReader reader new StreamReader file XmlSerializer xmlSerializer new XmlSerializer typeof T return T xmlSerializ
  • 更改自定义属性值

    我有一些代码 其中添加了我想要更改其值的自定义属性 div div 这是我正在尝试的 somebutton click function myCustomElement val SomeNewValue 但一切都没有改变 我怎样才能让它发挥
  • 从 Metafor 中的混合效应多级模型获取 R 平方

    我正在 R 中对森林的特定处理进行荟萃分析 对于这个模型 我需要拟合随机效应来解释研究方法的差异和地点年龄的变化之间的差异 因为这两个都是混杂变量 而且我对调查由它们引起的变化并不明确感兴趣 然而 据我所知 包裹 metfor 当您拥有多级
  • Git - 查找索引中单个文件的 SHA1

    我已将一个文件添加到 索引 git add myfile java 如何找到该文件的 SHA1 这是一个老问题 但有一件事需要澄清 这个问题和下面的答案讨论Git 哈希值一个文件的不完全一样 该文件的 SHA1 正如问题中所问 简而言之 如