Metadata-Version: 2.4
Name: fake-commit
Version: 0.1.3
Summary: 生成假 git 提交历史的 CLI 工具
Project-URL: Homepage, https://github.com/esyion/fake-commit
Project-URL: Repository, https://github.com/esyion/fake-commit
Project-URL: Issues, https://github.com/esyion/fake-commit/issues
Author: esyion
License: MIT
License-File: LICENSE
Keywords: cli,commit,fake,git,history
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: click>=8.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Provides-Extra: dev
Requires-Dist: mypy>=1.14; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

fake-commit

生成假 git 提交历史的 CLI 工具，让你的提交记录看起来更真实。

## 功能特点

- 支持指定日期范围生成提交
- 支持固定提交次数模式
- 支持随机提交次数模式
- 每次提交使用随机时间戳，更真实
- 零依赖配置，即装即用

## 安装

推荐使用 uv 安装：

```bash
uv tool install fake-commit
```

或直接从源码安装：

```bash
git clone https://github.com/esyion/fake-commit.git
cd fake-commit
uv tool install .
```

## 卸载

```bash
uv tool uninstall fake-commit
```

## 配置

复制 `.env.example` 为 `.env`，配置以下环境变量：

### 必需配置

| 环境变量 | 说明 |
|---------|------|
| `FAKE_AUTHOR_NAME` | Git 提交用户名 |
| `FAKE_AUTHOR_EMAIL` | Git 提交邮箱 |

### 可选配置

| 环境变量 | 默认值 | 说明 |
|---------|-------|------|
| `FAKE_START_DATE` | 2026-01-01 | 开始日期 |
| `FAKE_END_DATE` | 2026-01-31 | 结束日期 |
| `FAKE_BRANCH` | main | 分支名 |
| `FAKE_COMMITS_PER_DAY` | 1 | 每天提交次数（固定模式） |
| `FAKE_RANDOM` | false | 是否启用随机模式 |
| `FAKE_RANDOM_RANGE` | 1,10 | 随机提交区间（格式：min,max） |

## 使用方法

### 固定模式

每天固定生成指定次数提交：

```env
FAKE_RANDOM=false
FAKE_COMMITS_PER_DAY=3
```

### 随机模式

每天随机生成 1~10 次提交：

```env
FAKE_RANDOM=true
FAKE_RANDOM_RANGE=1,10
```

### 运行

```bash
python -m src.main
```

或安装后：

```bash
fcmt -n "用户名" -e "email@example.com"
```

## 示例输出

```
开始生成提交历史...
作者: esyion <qingboup@gmail.com>
日期范围: 2026-01-01 - 2026-01-31
完成！共生成 93 次提交
```

## 注意事项

- 生成提交会创建 `.commit_marker` 文件作为提交内容
- 每次提交使用当天随机时间戳（小时:分钟:秒）
- 建议在测试仓库中使用

## License

MIT