相关疑难解决方法(0)

Git - 从SHA1中查找文件名

我在索引中添加了一个文件:

git add somefile.txt
Run Code Online (Sandbox Code Playgroud)

然后我得到了这个文件的SHA1:

git hash-object somefile.txt
Run Code Online (Sandbox Code Playgroud)

我现在有一个SHA1,我想使用SHA1检索索引中对象的文件名.

git show 5a5bf28dcd7944991944cc5076c7525439830122
Run Code Online (Sandbox Code Playgroud)

此命令返回文件内容,但不返回文件名.

如何从SHA1获取完整的文件名和路径?

git sha1

34
推荐指数
3
解决办法
2万
查看次数

获取指定子模块的当前提交ID

我想获取指定子模块的当前提交ID.我想当我进入子模块目录并运行git rev-parse HEAD后,我发现这是一个超级项目当前ID.git submodule status | grep <submodule_name>也试过,但它对我来说很慢.知道如何更快地获取这些信息吗?

git git-submodules

10
推荐指数
3
解决办法
6193
查看次数

如何找到具有已知哈希值的对象的 git 对象 ID

我正在使用bfg来清理我的 git repo。为了获取要删除的大文件列表,我使用了这个脚本。但是对于某些文件,我只想从 repo 中删除它们的特定版本。

bfg 可以选择“使用指定的 Git 对象 ID 去除 blob”。当我运行上面的脚本时,我得到了列表中每个对象的哈希值。鉴于该散列,我如何找出该特定对象的 git 对象 ID,以便我可以使用 bfg 删除它?

git bfg-repo-cleaner

5
推荐指数
1
解决办法
4196
查看次数

为什么GIT对同一个二进制文件(图像)生成的SHA1与其他工具的SHA1不同?

嘿,

出于好奇,我测试了 GIT 为图像文件“tech01.jpg”生成的 SHA1,但是 GIT 生成的 SHA1 与其他工具生成的 SHA1 不同。

据我了解,无论系统如何,相同文件、二进制内容或相同文本的 SHA1 应该相同。

那么为什么 GIT 生成的 SHA1 与其他工具生成的 SHA1 不同呢?GIT 是否使用不同的加密算法或任何其他修改文件/文本的方式,或者可能只是我对 SHA1 的 GIT 使用的理解中遗漏了一些东西。

这就是我得到的:

Bash 与其他工具 SHA1 差异

我目前正在通过 Bash 使用 git 版本 2.13.0.windows.1(MingWWindows 7 64 位机器,如果有的话。

测试图像文件。 测试中使用的图像

git sha1

3
推荐指数
1
解决办法
230
查看次数

为什么“git ls-files -s”和“git log”输出不同的SHA哈希?

在同一个文件上使用 'git ls-files -s' 和 'git log' 时,我得到不同的 SHA 哈希值。以 repo https://github.com/preservim/nerdtree 中的文件 lib/nerdtree/nerdtree.vim ,标签 6.10.5 为例。

命令git log lib/nerdtree/nerdtree.vim产生,

commit 593c16add35a5461f189b8189abe219f7bbbd604 (tag: 6.10.5)

但命令git ls-files -s lib/nerdtree/nerdtree.vim产生,

100644 61a11a96ba44c7b1bf0472b598f2c967b2dce9f2 0 lib/nerdtree/nerdtree.vim

如果我尝试检出 'git log' 返回的 SHA,则该命令会成功。如果我尝试检查“git ls-files -s”返回的 SHA,则会产生致命错误:

git checkout 61a11a96ba44c7b1bf0472b598f2c967b2dce9f2 lib/nerdtree/nerdtree.vim

fatal: reference is not a tree: 61a11a96ba44c7b1bf0472b598f2c967b2dce9f2

为什么 'git ls-files -s' 和 'git log' 为同一个文件生成不同的 SHA 哈希?

注意:我四处寻找答案并找到了这个线程:Git - 在 index 中找到单个文件的 SHA1。这个线程解释了为什么 'git hash-object' 和 'git ls-files -s' …

git hash sha

0
推荐指数
1
解决办法
48
查看次数

标签 统计

git ×5

sha1 ×2

bfg-repo-cleaner ×1

git-submodules ×1

hash ×1

sha ×1