问题标签 [git-hash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
276 浏览

git - 为什么 git 将相同的哈希分配给具有不同名称和位置的文件?

SHA-1尽管内容相同,为什么 git 将相同的分配给具有不同名称和不同位置的文件?

100644 43efcd84207788e5289ee23a9ce95d9f43b13d9a 0 dir1/dir1_d2/dir1_d2_f1.txt 100644 43efcd84207788e5289ee23a9ce95d9f43b13d9a 0 test.txt

显示文件内容:

$ git cat-file -p 43efcd84207788e5289ee23a9ce95d9f43b13d9a Line 1

谢谢

0 投票
2 回答
211 浏览

git - 是否可以在 Git 目录之外创建 Git 哈希对象?

我正在尝试获取git diff2 个字符串之间的值。以下命令有效:

但是,如果不在 Git 目录中执行,它会失败。

我相信这部分命令失败了:

有没有办法解决这个问题,以便它可以在 Git 目录之外执行?

0 投票
2 回答
63 浏览

git - 如何查看两个相同版本之间的差异?

TL;博士

不同的祖先,空的差异,不同的程序。如何看出有什么不同?


我想,这个问题的答案应该是:如果它们相同,就没有区别。

我现在发生的事情是我有两个不同的修订版,似乎有一个空的差异。

它们有不同的提交哈希,它们包含的程序行为不同,但它们diff是空的。这怎么可能?

有没有更强大的diff我不知道会显示出更深层次的差异?

哈希不是仅根据内容计算的吗?那为什么diff没有检测到任何东西?

这是图表

0 投票
0 回答
122 浏览

c# - 如何在 C# 中将 git 哈希转换为长度为 20 的字节数组?

如何在 C# 中将 git 哈希转换为长度为 20 的字节数组?目前我将 git 哈希表示为一个字符串:

我试过这个:

但我实际上想将十六进制数转换为字节数组,而不是它的字符串表示。

我需要这个来将 git 哈希保存在我使用 bytes20 作为数据结构的智能合约中。

为什么我在上面尝试的方式不起作用,只是在 20 位数字后切断哈希?在这里建议的答案中的转换有什么区别: 如何将十六进制字符串转换为字节数组?

0 投票
0 回答
94 浏览

python - 访问 conda 安装包的 gitash

我有一些代码可以运行模拟并将结果保存到文本文件中。

为了确保可重复性,我还保存了最后一次提交的 git 哈希,这样如果我在几个月后查看模拟,我就可以确切地知道哪个提交用于产生结果。

现在我们正在研究使我们的代码可安装 conda。我知道我可以使用{{ GIT_FULL_HASH }}env 变量访问 conda 配方中的 git hast;并将其保存在about我的部分meta.yaml

有没有办法在构建和安装包后以编程方式访问它的值,以便我可以将它包含在保存的 sim 数据中?

0 投票
1 回答
192 浏览

git - 如何在 git 中获取对提交的引用

让我们有一个 git master 分支,并在某个时刻让 fork 分支发布(发布分支将被称为 R1)。有时我需要向他们(master 和 R1)推送提交。通常我在主分支上工作,完成后我对其进行测试,挑选到 R1,在那里测试并推送到它们。

我想在 R1 提交中引用 master 分支。这是由cherry-pick -x 完成的。但是,这种方法仅在我推送到主分支然后从主分支到 R1 时才有效。假设测试花费了太多时间,我希望 master 和 R1 尽可能多地同步(我想最小化推送之间的时间间隔),所以我想同时推送。通过这种方式,我无法获得参考(cherry-pick 中的 -x),因为在 R1 中进行 rebase 时哈希会发生变化(不能使用合并)。有什么办法可以自动化这个,所以我会在 R1 描述中有正确的散列?像哈希预测这样的东西?

0 投票
1 回答
323 浏览

git - 给定长 git commit 如何安全地获得短提交

如果我查询 bitbucket api 的提交,我会得到长版本:

给出一个长提交:c56cefbd0c81142558cf814cba7d7cd75d7cb6a7

有没有办法可靠地获得短提交哈希?是不是像最后 10 个字符之类的?或者也许有一种方法可以从 Bitbucket API 请求短哈希?在这个主题上,我正在寻找一种可靠的方法来获取分支的最新提交。

0 投票
1 回答
213 浏览

git - 使用哈希获取 git commit 的年龄

如果我们有一个 git commit 哈希:

有没有办法在没有更多信息的情况下确定/计算它的创建日期?

0 投票
1 回答
280 浏览

git - 从 git commit 确定分支名称

我假设 git commit hash (5743a31610d38064af35573b91e3bbe39d808b9b) 将始终映射到 0 或 1 个 git 分支?是否有可靠的方法来跟踪创建 git commit 时的分支名称?据我所知,git 分支是指向提交的指针,给定提交,我们能否可靠地指向分支(如果分支仍然存在)?

上下文:我正在创建一些 devops 部署更改日志,以便我们可以跟踪我们更改的内容 - 我想知道是否值得命名已发布的 git 分支,或者只是将 git commit 哈希放在那里,我们可以反转如果我们真的想查找分支名称?

0 投票
1 回答
74 浏览

git - 上次未推送的本地提交的 Git 哈希值

我的分支主线上有 3 个本地提交,位于远程仓库之前。如何获取最早的本地提交的哈希值?

例子:

A <- HEAD(mainline) local
B
C
D <- origin/mainline 与远程同步

如何获取提交 C 的哈希值?