Подтвердить что ты не робот

Как найти файл Github SHA blob

Я использую этот API для обновления файла в своем репо, для этого требуется, чтобы у меня был действительный SHA-блок для файла, который я хочу обновить:

http://developer.github.com/v3/repos/contents/

Как найти SHA-блок для конкретного файла? Предполагаемый в моем testrepo в тестовой учетной записи здесь, что такое SHA blob для файла test.txt?

https://github.com/testacc01/testrepo01

Большое вам спасибо!

4b9b3361

Ответ 1

Документы для обновления файла указывают, что вам необходимо предоставить SHA для файла, который вы будете заменять. Самый простой способ - запросить github для этого. Например:

> curl https://api.github.com/repos/testacc01/testrepo01/contents/test.txt
{
  "name": "test.txt",
  "path": "test.txt",
  "sha": "4f8a0fd8ab3537b85a64dcffa1487f4196164d78",
  "size": 13,
 …

Итак, вы можете видеть, что SHA находится в поле "sha" ответа JSON. Используйте это, когда формулируете свой запрос на обновление файла с новой версией. После того, как вы успешно обновили файл, файл будет иметь новую SHA, которую вам нужно будет запросить, прежде чем ее можно будет обновить снова. (Если, я думаю, ваше следующее обновление идет по другому ветку.)

Ответ 2

Если вы используете GraphQL API v4, вы можете использовать следующее, чтобы найти sha определенного файла:

{
  repository(owner: "testacc01", name: "testrepo01") {
    object(expression: "master:test.txt") {
      ... on Blob {
        oid
      }
    }
  }
}

Попробуйте в проводнике