# 02\_git 中文文档

规范地址：https://npmcn.com/package/02_git/

版本：0\.3\.0
npm 元数据更新时间：2026-05-12T04:10:34.710Z
中文译文更新时间：2026-10-31T10:56:42.178Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/02_git
原文对照：https://npmcn.com/package/02_git/?lang=original
项目主页：https://github.com/vedant-nagwanshi/ts-git#readme
源码仓库：https://github.com/vedant-nagwanshi/ts-git

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

- 包体积（解压后）：63 kB，31 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-05-12T03:32:03.794Z
- 最新版本发布：2026-05-12T04:10:34.602Z
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

TypeScript中的Git实现——支持init、add、commit、log、status、branches、checkout和three-way merge

## 安装

```sh
npm install 02_git
```

也可以使用：`pnpm add 02_git`、`yarn add 02_git`、`bun add 02_git`

## README

# 02 \_git

一个用TypeScript从头开始编写的Git实现。支持核心Git操作，包括初始化、添加、提交、日志、状态、分支、签出和冲突检测的三方合并。

## 安装

```bash
npm install -g 02_git
```

## 使用

使用02\_git有两种方式：

### 使用全局安装

如果全局安装了 `npm install -g 02_git`，你会得到 `ts-git` 命令:

```bash
ts-git init
ts-git add .
ts-git commit -m "initial commit"
ts-git log
```

### 使用npx（无需安装）

所有的命令都可以通过npx来工作——只是用 `npx 02_git`：

```bash
npx 02_git init
npx 02_git add .
npx 02_git commit -m "initial commit"
npx 02_git log
```

## 命令

```
ts-git init                        Initialize a new repository
ts-git add <path>                  Stage a file (use . to stage all)
ts-git commit -m "message"         Commit staged changes
ts-git log                         Show commit history
ts-git status                      Show working tree status
ts-git branch <name>               Create a new branch
ts-git checkout <name>             Switch to a branch
ts-git curr-branch                 Show the current branch
ts-git merge <branch> -m "msg"     Merge a branch into current
ts-git c-merge <branch>            Check for merge conflicts without merging
ts-git help                        Show help message
```

## 它是如何工作的

02\_git将数据存储在 `.tsgit` 目录，具有与Git相同的概念结构：

-   **对象** -由SHA-1哈希存储的内容寻址blob、树和提交
-   **参考文献** 分支指针作为文件存储在 `refs/heads/`
-   **头** -指向当前分支的符号引用
-   **指数** -暂存区映射文件路径到blob哈希值

merge使用三向合并算法，该算法查找共同的祖先，并在两个分支以不同方式修改同一文件时检测冲突。

## 许可证

麻省理工学院

## 常见问题

### 02\_git 是什么？

TypeScript中的Git实现——支持init、add、commit、log、status、branches、checkout和three-way merge

### 如何安装 02\_git？

在项目目录运行 npm install 02\_git，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ts-git，可以用 npx ts-git 直接运行。

### 02\_git 支持 TypeScript 吗？

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

### 02\_git 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### 02\_git 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### 02\_git 可以商用吗？

02\_git 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### 02\_git 还在维护吗？

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

