# @absolutejs/git 中文文档

规范地址：https://npmcn.com/package/%40absolutejs/git/

版本：0\.19\.0
npm 元数据更新时间：2026-10-25T18:10:41.464Z
中文译文更新时间：2026-11-08T10:03:35.862Z
软件包许可：BSL-1\.1

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40absolutejs/git
原文对照：https://npmcn.com/package/%40absolutejs/git/?lang=original
项目主页：https://github.com/absolutejs/git
源码仓库：https://github.com/absolutejs/git

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：608 kB，48 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-07-16T19:47:13.918Z
- 最新版本发布：2026-10-25T18:10:40.794Z
- 近 30 天下载量：1806（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 28 个）

## 中文简介

供应商中性认证 Git源摄取,webhook正常化,精确修正的可实现性,以及Bun和AbsoluteJS的出处.

## 安装

```sh
npm install @absolutejs/git
```

也可以使用：`pnpm add @absolutejs/git`、`yarn add @absolutejs/git`、`bun add @absolutejs/git`

## README

# @absolutejs/ git (英语)

为 Bun 控制平面和 AbsoluteJS 认证 Git 源摄入量 .

软件包将一个签名的提供商 Webhook 变成一个正常的,授权的精确 校正, 在没有外壳的情况下检查校正, 剥去 Git 元数据, 应用 源大小和文件计数限制,并发出可移植出处。 没有 拥有证书,数据库,队列,构建沙盒,部署,或UI. GitHub App 安装也可以创建并更新已规范的检查运行, 这样可以 控制飞机报告精确订正的部署态势,无需手写 供应商有效载荷.

```ts
import { assertGitRevisionAuthorized, gitProvenanceFor } from "@absolutejs/git";
import { createGitCheckout } from "@absolutejs/git/checkout";
import { verifyGitHubPushWebhook } from "@absolutejs/git/github";

const event = verifyGitHubPushWebhook({
  body: rawBody,
  headers: request.headers,
  secret: webhookSecret,
});

assertGitRevisionAuthorized(
  {
    allowedRefs: ["refs/heads/main"],
    repository: { provider: "github", fullName: "acme/site" },
  },
  event.revision,
);

const checkout = await createGitCheckout({
  credential: { token: installationToken },
  revision: event.revision,
});
try {
  await isolatedBuild(checkout.sourceRoot, gitProvenanceFor(event));
} finally {
  await checkout.dispose();
}
```

## 安全边界

-   在解析 JSON 之前, 对照未激活的请求字节验证签名 .
-   衍生犬科供应商 URL 而不是信任 Webhook 克隆 URL .
-   授权寄存器身份和在退出前的完整参考.
-   获取并核实确切的承诺, 永远不要移动分支提示.
-   通过 Git 参数作为数组; 证书使用子进程环境 配置且从未被嵌入到仓库 URL 或出错中.
-   删除 `.git`,拒绝链接和特殊文件,并执行源边框 将一棵树交给一个构建系统.
-   运行安装并建在一个单独的沙盒中,有网络,CPU,内存, 时间和产出限制。 这个政策属于主控飞机.

`@absolutejs/deploy/release-artifact` 仍然是不可改变的生态系统所有者 部署档案和他们的SHA-256诚信合同.

## 常见问题

### @absolutejs/git 是什么？

供应商中性认证 Git源摄取,webhook正常化,精确修正的可实现性,以及Bun和AbsoluteJS的出处\.

### 如何安装 @absolutejs/git？

在项目目录运行 npm install @absolutejs/git，或使用 pnpm add / yarn add / bun add。

### @absolutejs/git 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @absolutejs/git 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @absolutejs/git 可以商用吗？

@absolutejs/git 使用 BSL-1\.1 许可。声明的许可为 BSL-1\.1，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @absolutejs/git 的下载量有多少？

根据 npm 官方下载统计，@absolutejs/git 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,806 次，日均约 60 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @absolutejs/git 还在维护吗？

最新版本 0\.19\.0 发布于 2026/10/26（13 天前）；至今共发布 28 个版本，其中过去 12 个月发布了 28 个；首次发布于 2026/07/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

