Skip to main content

此版本的 GitHub Enterprise 已停止服务 2022-06-03. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

Git Blob

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

关于 Git blob API

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

Blob 的自定义媒体类型

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

application/json
application/vnd.github.VERSION.raw

更多信息请参阅“媒体类型”。

Create a blob

参数

标头
名称, 类型, 描述
acceptstring

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

路径参数
名称, 类型, 描述
ownerstring必选

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

repostring必选

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

正文参数
名称, 类型, 描述
contentstring必选

The new blob's content.

encodingstring

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

默认值: utf-8

HTTP 响应状态代码

状态代码描述
201

Created

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed

代码示例

post/repos/{owner}/{repo}/git/blobs
curl \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/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

The content in the response will always be Base64 encoded.

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

参数

标头
名称, 类型, 描述
acceptstring

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

路径参数
名称, 类型, 描述
ownerstring必选

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

repostring必选

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

file_shastring必选

HTTP 响应状态代码

状态代码描述
200

OK

403

Forbidden

404

Resource not found

422

Validation failed

代码示例

get/repos/{owner}/{repo}/git/blobs/{file_sha}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/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==" }