gpt4 book ai didi

git:在预提交 Hook 中使用对象 shas

转载 作者:太空狗 更新时间:2023-10-29 14:48:48 25 4
gpt4 key购买 nike

有没有办法在提交更改之前确定文件(或理想情况下树)的新 git sha?

背景:

我正在尝试自动将存储库中一个文件中的字符串更改为唯一值,每次更改存储库另一个目录中的任何文件时。

我在想一个简单的方法是写一个 git hook,它只使用子目录树的 sha 作为唯一字符串。这似乎可以直接作为 git ls-tree 的提交后 Hook 来完成,但这将需要额外的虚拟提交来每次提交字符串,从而产生额外的噪音。

到目前为止,我已经确定这可以通过运行 git hash-object 来实现,但是我必须编写一个稍微复杂的脚本来递归地构建目录中文件的哈希值,以便最终计算目录(树)的散列。我想知道是否有更简单的选择。

最佳答案

这并不完全涵盖您的答案,但这是一种计算提交中树的索引的方法,而无需先实际创建新的提交。

如果你运行 git write-tree --prefix <subdirectory>/ ,它会将树写出,就像它在索引中一样,写入磁盘,并返回哈希。这正是执行提交时无论如何都会创建的对象。

关于git:在预提交 Hook 中使用对象 shas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10251126/

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