Ich habe versucht, eine Datei in einem GitHub-Repository mithilfe der GitHub-API zu aktualisieren, während ich nur einen Pfad zu dieser Datei habe. Mein Plan war zuerst, holen Sie sich den Dateiinhalt wie hier beschrieben: Ссылка , und verwenden Sie dann das "sha" -Feld um "eine Datei zu aktualisieren".
Es funktionierte gut, genau wie in der Antwort hier beschrieben den SHA - Blob einer Github - Datei finden .Wenn Sie jedoch GET / repos /: owner /: repo / contents /: path verwenden, wird die gesamte Datei als Feld im zurückgegebenen JSON heruntergeladen, was ineffizient ist. Meine Frage ist also: Gibt es eine Möglichkeit, nur das "sha" -Feld zu bekommen, ohne die gesamte Datei herunterzuladen?
Sie können die <rev>:<path>
erweiterte SHA-1-Syntax nutzen, um einige Meta-Daten abzurufen Daten über den Blob von seinem übergeordneten Baum.
Zum Beispiel, vorausgesetzt, Sie arbeiten mit dem libgit2 / libgit2sharp -Repository, und Sie möchten Um den Sha der Datei Lib/MoQ/Moq.license.txt
aus dem Zweig master
abzurufen:
Lib/MoQ
Elternverzeichnis Moq.license.txt
ist
<rev>:<path>
-Segment als URL codieren, da es Schrägstriche enthält Kurz gesagt:
Der obige Beispiellink gibt die folgende Nutzlast zurück
%Vor%