如何在没有克隆的情况下从git存储库获取SHA1哈希?

时间:2013-01-18 23:24:38

标签: git hash

如果 U 是一个git URL(例如,ssh URL),如何找到U 的分支或标记的SHA1哈希,而不用本地克隆û

3 个答案:

答案 0 :(得分:5)

您可以使用git ls-remote U获取头(分支)和标签。

答案 1 :(得分:1)

你可以用这个: git ls-remote U branch | cut -c1-7 哪里,'分支'指定来自该特定分支的提交哈希

答案 2 :(得分:0)

如果您使用的是git ls-remote,请确保使用Git 2.28(2020年第三季度),因为SHA-256迁移工作会继续进行。
自Git 2.19(2018年第二季度)以来,Git准备从SH1哈希过渡到SHA2,如“ Why doesn't Git use more modern SHA?

中所述

请参见commit 3716d50commit 6161ce7commit 371c407commit 4ddd3f5commit f7c6a3bcommit 8fc7003commit 54cbbe4,{{3} },commit 97997e6commit 793731fcommit 586740a(2020年6月19日),commit ac093d0commit d96dab8commit f0af95fcommit 9de0dd3,{ {3}},commit ab67235commit 67e9a70commit 7f46e7ecommit 059d806commit 88a09a5commit 1610ddacommit 629dffc,{{3 }},commit 49c9a2fcommit d553acecommit 4b83120commit 9dc78c2commit b65dc2ccommit 7f60501commit 8b85ee4commit 452e356commit bb095d0commit 7c601dccommit 48bf141commit 84eca27commit 82db03acommit 122037ccommit 7c97af4commit 9a9f0d3,{ {3}},commit 1349ffe(2020年5月25日)和commit 2c6a403commit bf30dbf(2020年5月13日),由commit 14570dc进行。
(由commit 92315e5commit b8615c3中合并,2020年7月6日)

commit a114296:避免使用ls-remote截断引用

签名人:brian m。卡尔森

通常,remote-curl传输助手知道我们正在使用的哈希算法,因为我们正在使用适当的哈希算法集进行回购。

但是,当使用存储库的brian m. carlson (bk2204) 外部时,我们将无法正确初始化哈希算法,因此请使用hash_to_hex_algop打印与该算法相对应的ref我们已经检测到。

这很重要,因为在您的情况下,您将在任何本地Git存储库之外使用git ls-remote U