Skip to main content
The REST API is now versioned. For more information, see "About API versioning".

Git Blob

通过 Git blob API,你可以创建和获取 Git blob(二进制大型对象),该对象类型用于将每个文件的内容存储在存储库中。

关于 Git Blob API

Git Blob(二进制大对象)是用于将每个文件的内容存储在仓库中的对象类型。 文件的 SHA-1 哈希在 Blob 对象中计算和存储。 通过这些终结点,可以在 GitHub Enterprise Cloud 上读取 blob 对象并将其写入 Git 数据库。 Blob 利用这些自定义媒体类型。 你可以在此处阅读有关 API 中媒体类型使用情况的更多信息。

Blob 的自定义媒体类型

以下是 blob 支持的媒体类型。

application/json
application/vnd.github.raw

有关详细信息,请查看媒体类型

Create a blob

Works with GitHub Apps

Parameters

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

Body parameters
Name, Type, Description
contentstringRequired

The new blob's content.

encodingstring

The encoding used for content. Currently, "utf-8" and "base64" are supported.

Default: utf-8

HTTP response status codes

Status codeDescription
201

Created

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Code samples

post/repos/{owner}/{repo}/git/blobs
curl \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://api.github.com/repos/OWNER/REPO/git/blobs \ -d '{"content":"Content of the blob","encoding":"utf-8"}'

Response

Status: 201
{ "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15" }

Get a blob

Works with GitHub Apps

The content in the response will always be Base64 encoded.

Note: This API supports blobs up to 100 megabytes in size.

Parameters

Headers
Name, Type, Description
acceptstring

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

file_shastringRequired

HTTP response status codes

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

get/repos/{owner}/{repo}/git/blobs/{file_sha}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ https://api.github.com/repos/OWNER/REPO/git/blobs/FILE_SHA

Response

Status: 200
{ "content": "Q29udGVudCBvZiB0aGUgYmxvYg==", "encoding": "base64", "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "size": 19, "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg==" }