gpt4 book ai didi

git - 如何计算目录的 git hash-object?

转载 作者:IT王子 更新时间:2023-10-29 01:30:33 25 4
gpt4 key购买 nike

有没有人有在目录上使用 git hash-object 的例子?它在文件*上很容易工作,但不能像我期望的那样在目录上工作**

*:  git hash-object c:\somefile.txt
**: git hash-object -t tree c:\somedirectory

当我尝试对目录使用 hash-object 时,它会提示“fatal: Cannot open 'C:\someDirectory': Permission denied”

最佳答案

根据您希望执行此操作的原因,以下 git 命令可能会有用:

git ls-files -s somedirectory | git hash-object --stdin

这给出了一个考虑文件名和内容的哈希值。

它是这样工作的。 git ls-files -s .... 将文件列表及其散列作为文本输出到 stdout,然后是 git hash-object为它从 stdin 接收到的数据生成哈希。

我的用例如下 - 我想知道一个分支目录中的(git 管理的)文件是否与另一个分支中的文件完全匹配(*)。具体用途是比较“目录哈希”决定是否需要重新生成缓存的派生文件。

默认 git ls-files 也会列出子目录中的文件。如果你不想那样,试着看看 answers to "how to git ls-file for just one directory level .还有其他各种options to git ls-files ,包括指定要包含的文件列表的能力。

(*) 排除散列冲突

关于git - 如何计算目录的 git hash-object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com