gitlab-ce 12.X:如何找到服务器上存储库的哈希存储路径?

时间:2019-07-28 15:59:10

标签: git gitlab gitlab-ce

使用gitlab-ce-12.x,Geo要求对存储路径进行散列(https://docs.gitlab.com/ee/administration/repository_storage_types.html

对于给定的存储库,数据将因此存储在: “ @hashed /#{hash [0..1]} /#{hash [2..3]} /#{hash} .git”

从实际的角度来看,假设我有一个URL为

的存储库
  

https://my-gitlab-server/Group1/project1.git

如何确定服务器上存储的路径? 即如何找到

的值
  

#{hash[0..1]}/#{hash[2..3]}/#{hash}

谢谢

1 个答案:

答案 0 :(得分:2)

我找到了问题的答案。

要获取项目的哈希存储位置,首先需要获取项目存储库的项目ID。

获得该项目ID后,说您的项目ID为1, 您可以通过以下方式获得哈希值:

说project.id为1

  

echo -n 1 | sha256sum

=>您得到哈希 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b

因此,存储库在服务器上的哈希存储位置将为:

  

server/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git

这已经由gitlab开发人员在 https://gitlab.com/gitlab-org/gitlab-ce/issues/63250