我正在寻找 github repo 的当前 master 的 SHA。
如果我这样做: https ://api.github.com/repos/ameyer/Arduino-L6470/git/trees/master
返回的 SHA 是“主”。
我需要一种方法来检查 github 上的 master 版本是否比我在缓存应用程序中的版本新,我认为 SHA 将是最好的检查方法。
我正在寻找 github repo 的当前 master 的 SHA。
如果我这样做: https ://api.github.com/repos/ameyer/Arduino-L6470/git/trees/master
返回的 SHA 是“主”。
我需要一种方法来检查 github 上的 master 版本是否比我在缓存应用程序中的版本新,我认为 SHA 将是最好的检查方法。
尝试获取参考:
https://api.github.com/repos/ameyer/Arduino-L6470/git/refs
然后你可以:
https://api.github.com/repos/ameyer/Arduino-L6470/git/trees/d0cad097e733c3d9b7051c6f047411c5e3494491
请注意,第二个 URL 给出的结果与您尝试的 URL 基本相同,只是master
ref 名称被替换为最新提交的实际 sha。
所以,基本上,只需获取 refs 并获取 master 的 sha。
如果你不介意启动一个进程,你也可以使用“native” git api:
git ls-remote https://github.com/ameyer/Arduino-L6470 master
这也适用于其他托管服务提供商和跨 http api 更改。