如何使用GitLab API找到文件的提交哈希?

时间:2015-10-28 20:30:00

标签: git api hash gitlab git-commit

我试图找出我的存储库中文件的提交哈希值。使用不同的提交修改了不同的文件。

我在GitLab Web界面上看到此信息: File's commit hash vs master's commit hash

但是如何使用GitLab API获取此信息?我试过了:

GET /projects/:id/repository/files

https://gitlab_server/api/v3/projects/1234/repository/files?file_path=test/file2.tconf&ref=master

但是响应中的commit_id与HEAD的散列 0f05a8e4bf45942b1189fce923184129821845f1 相匹配,而不是上面屏幕截图中的内容。

{
  "file_name": "file2.tconf",
  "file_path": "test/file2.tconf",
  "size"     : 44,
  "encoding" : "base64",
  "content"  : "...",
  "ref"      : "master",
  "blob_id"  : "50450759d2b0694b044ed3d7eaf93c2c98dacbba",
  "commit_id": "0f05a8e4bf45942b1189fce923184129821845f1"
}

任何线索?

2 个答案:

答案 0 :(得分:0)

last-commit-id 现在存在,并提供您要求的内容:修改该特定文件的最后一次提交。

请参阅GitLab's get-file-from-repository API

答案 1 :(得分:0)

获取单个提交我刚刚为我的项目对它进行了自我测试,并使用它来获取有关上一次提交的信息,我想您现在可以轻松地获得所需的内容。

请参阅GitLab's get-a-single-commit

获取/ projects /:id /存储库/ commits /:sha

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/commits/master"