我正在使用此API更新我的存储库上的文件,它要求我为要更新的文件提供有效的SHA blob:
http://developer.github.com/v3/repos/contents/
如何找到特定文件的SHA blob?假设在我的testrepo在这里的测试帐户,什么是SHA的blob的test.txt文件?
https://github.com/testacc01/testrepo01
谢谢你!
我正在使用此API更新我的存储库上的文件,它要求我为要更新的文件提供有效的SHA blob:
http://developer.github.com/v3/repos/contents/
如何找到特定文件的SHA blob?假设在我的testrepo在这里的测试帐户,什么是SHA的blob的test.txt文件?
https://github.com/testacc01/testrepo01
谢谢你!
4条答案
按热度按时间57hvy0tb1#
用于更新文件的文档指定您需要为要替换的文件提供SHA。最简单的方法也是查询github。例如:
因此,您可以在JSON响应的“sha”字段中看到SHA是什么。当您提出用新版本更新文件的请求时,请使用该选项。成功更新文件后,该文件将具有一个新的SHA,您需要请求该SHA才能再次更新它。(除非,我猜,你的下一次更新是在另一个分支上。
nue99wik2#
如果你不想调用API,你可以自己生成SHA。Git通过连接
blob {content.length} {null byte}
的头文件和文件内容来生成SHA。例如:来源:https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
nlejzf6q3#
如果你使用GraphQL API v4,你可以使用下面的代码来查找特定文件的sha:
Try it in the explorer
eanckbw94#
使用Octokit Rest API: