@zjex/git-workflow 0.2.24 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/deploy-docs.yml +68 -0
- package/.github/workflows/test.yml +24 -4
- package/.husky/pre-commit +17 -0
- package/README.md +72 -1066
- package/ROADMAP.md +275 -0
- package/dist/index.js +450 -99
- package/docs/.vitepress/cache/deps/_metadata.json +52 -0
- package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js +9719 -0
- package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js.map +7 -0
- package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +12824 -0
- package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +7 -0
- package/docs/.vitepress/cache/deps/package.json +3 -0
- package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
- package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
- package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +583 -0
- package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
- package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
- package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
- package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
- package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
- package/docs/.vitepress/cache/deps/vitepress___minisearch.js +1813 -0
- package/docs/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
- package/docs/.vitepress/cache/deps/vue.js +347 -0
- package/docs/.vitepress/cache/deps/vue.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js +9719 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js +12824 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/package.json +3 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js +4505 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js +583 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js +1665 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js +1813 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js.map +7 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js +347 -0
- package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js.map +7 -0
- package/docs/.vitepress/config.ts +167 -0
- package/docs/.vitepress/theme/custom.css +39 -0
- package/docs/.vitepress/theme/index.ts +4 -0
- package/docs/README.md +82 -0
- package/docs/commands/branch.md +468 -0
- package/docs/commands/commit.md +554 -0
- package/docs/commands/config.md +346 -0
- package/docs/commands/index.md +312 -0
- package/docs/commands/interactive.md +384 -0
- package/docs/commands/release.md +300 -0
- package/docs/commands/stash.md +309 -0
- package/docs/commands/tag.md +278 -0
- package/docs/commands/update.md +347 -0
- package/docs/config/ai-config.md +160 -0
- package/docs/config/branch-config.md +133 -0
- package/docs/config/commit-config.md +185 -0
- package/docs/config/config-file.md +776 -0
- package/docs/config/examples.md +279 -0
- package/docs/config/index.md +478 -0
- package/docs/features/git-wrapped.md +199 -0
- package/docs/guide/ai-commit.md +576 -0
- package/docs/guide/basic-usage.md +522 -0
- package/docs/guide/best-practices.md +426 -0
- package/docs/guide/branch-management.md +712 -0
- package/docs/guide/getting-started.md +294 -0
- package/docs/guide/index.md +168 -0
- package/docs/guide/installation.md +449 -0
- package/docs/guide/release-management.md +744 -0
- package/docs/guide/stash-management.md +608 -0
- package/docs/guide/tag-management.md +614 -0
- package/docs/index.md +205 -0
- package/docs/public/favicon.svg +21 -0
- package/docs/public/hero-logo.svg +43 -0
- package/docs/public/logo.svg +20 -0
- package/package.json +12 -2
- package/scripts/publish.js +55 -8
- package/scripts/publish.sh +20 -2
- package/scripts/release.sh +81 -3
- package/scripts/update-test-count.js +55 -0
- package/src/ai-service.ts +107 -15
- package/src/commands/commit.ts +4 -0
- package/src/commands/init.ts +18 -0
- package/src/commands/log.ts +503 -0
- package/src/config.ts +1 -0
- package/src/index.ts +37 -13
- package/src/utils.ts +10 -0
- package/tests/ai-service.test.ts +237 -2
- package/tests/init.test.ts +582 -0
- package/tests/log.test.ts +106 -0
- package/tests/release.test.ts +333 -0
- package/tests/setup.ts +21 -0
- package/tests/stash.test.ts +376 -0
- package/tests/update.test.ts +402 -0
- package/vitest.config.ts +3 -0
- package/zjex-logo.svg +22 -0
- package/zjex-optimized.svg +34 -0
- package/zjex.svg +1 -0
- package/src/commands/help.ts +0 -76
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# 快速开始
|
|
2
|
+
|
|
3
|
+
本指南将帮助你在几分钟内开始使用 Git Workflow。
|
|
4
|
+
|
|
5
|
+
## 📦 安装
|
|
6
|
+
|
|
7
|
+
### 系统要求
|
|
8
|
+
|
|
9
|
+
- **Node.js** >= 18.0.0
|
|
10
|
+
- **npm** >= 9.0.0(或其他包管理器)
|
|
11
|
+
- **Git** >= 2.0.0
|
|
12
|
+
|
|
13
|
+
### 安装命令
|
|
14
|
+
|
|
15
|
+
选择你喜欢的包管理器:
|
|
16
|
+
|
|
17
|
+
::: code-group
|
|
18
|
+
|
|
19
|
+
```bash [npm]
|
|
20
|
+
npm install -g @zjex/git-workflow
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```bash [pnpm]
|
|
24
|
+
pnpm add -g @zjex/git-workflow
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```bash [yarn]
|
|
28
|
+
yarn global add @zjex/git-workflow
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```bash [Volta]
|
|
32
|
+
volta install @zjex/git-workflow
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
:::
|
|
36
|
+
|
|
37
|
+
### 验证安装
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
gw --version
|
|
41
|
+
# 输出: v0.2.24
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
如果看到版本号,说明安装成功!
|
|
45
|
+
|
|
46
|
+
## 🚀 三步开始使用
|
|
47
|
+
|
|
48
|
+
### 第 1 步:创建全局配置
|
|
49
|
+
|
|
50
|
+
首次使用建议创建全局配置,这样所有项目都能享受 AI commit 等功能:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
gw init
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
选择配置类型:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
⚙️ 初始化 git-workflow 配置
|
|
60
|
+
|
|
61
|
+
? 选择配置范围:
|
|
62
|
+
❯ 全局配置(所有项目生效) # 推荐!配置一次,所有项目都能用
|
|
63
|
+
项目配置(仅当前项目) # 为特定项目自定义配置
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
选择 **全局配置**,然后按提示配置各项参数:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
✔ 选择配置范围: 全局配置(所有项目生效)
|
|
70
|
+
|
|
71
|
+
? Feature 分支前缀: feature
|
|
72
|
+
? Hotfix 分支前缀: hotfix
|
|
73
|
+
? 是否强制要求填写 ID: 否
|
|
74
|
+
? Feature 分支 ID 标签: Story ID
|
|
75
|
+
? Hotfix 分支 ID 标签: Issue ID
|
|
76
|
+
? 提交时是否自动暂存所有更改: 是
|
|
77
|
+
? 是否使用 emoji: 是
|
|
78
|
+
|
|
79
|
+
? 是否启用 AI commit 功能: 是
|
|
80
|
+
? 选择 AI 提供商: GitHub Models(免费,推荐)
|
|
81
|
+
|
|
82
|
+
💡 如何获取 GitHub Token:
|
|
83
|
+
1. 访问: https://github.com/settings/tokens/new
|
|
84
|
+
2. 勾选 'repo' 权限
|
|
85
|
+
3. 生成并复制 token
|
|
86
|
+
|
|
87
|
+
? 输入你的 GitHub Token: ghp_xxxxxxxxxxxx
|
|
88
|
+
? 选择语言: 中文
|
|
89
|
+
|
|
90
|
+
✔ 全局配置已保存到: ~/.gwrc.json
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
::: tip 💡 关于 GitHub Token
|
|
94
|
+
- 只需要勾选 `repo` 权限
|
|
95
|
+
- Token 仅用于调用 GitHub Models API
|
|
96
|
+
- 不会访问你的代码仓库
|
|
97
|
+
- 每天有 150 次免费调用限额
|
|
98
|
+
:::
|
|
99
|
+
|
|
100
|
+
### 第 2 步:在项目中使用
|
|
101
|
+
|
|
102
|
+
进入任意 Git 项目目录:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
cd your-project
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
现在你可以使用所有功能了:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# AI 自动生成 commit message
|
|
112
|
+
gw c
|
|
113
|
+
|
|
114
|
+
# 创建规范的 feature 分支
|
|
115
|
+
gw f
|
|
116
|
+
|
|
117
|
+
# 创建语义化版本 tag
|
|
118
|
+
gw t
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 第 3 步:享受高效的工作流
|
|
122
|
+
|
|
123
|
+
恭喜!你已经完成了 Git Workflow 的基础配置。现在可以享受高效的 Git 工作流了。
|
|
124
|
+
|
|
125
|
+
## 🎯 30 秒上手示例
|
|
126
|
+
|
|
127
|
+
让我们通过一个完整的示例来体验 Git Workflow:
|
|
128
|
+
|
|
129
|
+
### 1. 运行交互式菜单
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
gw
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
你会看到优雅的 ASCII Art Logo 和操作菜单:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
███████╗ ██╗███████╗██╗ ██╗
|
|
139
|
+
╚══███╔╝ ██║██╔════╝╚██╗██╔╝
|
|
140
|
+
███╔╝ ██║█████╗ ╚███╔╝
|
|
141
|
+
███╔╝ ██ ██║██╔══╝ ██╔██╗
|
|
142
|
+
███████╗╚█████╔╝███████╗██╔╝ ██╗
|
|
143
|
+
╚══════╝ ╚════╝ ╚══════╝╚═╝ ╚═╝
|
|
144
|
+
|
|
145
|
+
git-workflow v0.2.24
|
|
146
|
+
|
|
147
|
+
? 选择操作:
|
|
148
|
+
[1] ✨ 创建 feature 分支 gw f
|
|
149
|
+
[2] 🐛 创建 hotfix 分支 gw h
|
|
150
|
+
[3] 🗑️ 删除分支 gw d
|
|
151
|
+
[4] 📝 提交代码 gw c
|
|
152
|
+
[5] 🏷️ 创建 tag gw t
|
|
153
|
+
[6] 🗑️ 删除 tag gw td
|
|
154
|
+
[7] ✏️ 修改 tag gw tu
|
|
155
|
+
[8] 📋 列出 tags gw ts
|
|
156
|
+
[9] 📦 发布版本 gw r
|
|
157
|
+
[a] 💾 管理 stash gw s
|
|
158
|
+
[b] ⚙️ 初始化配置 gw init
|
|
159
|
+
[0] ❓ 帮助
|
|
160
|
+
[q] 退出
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 2. 创建 feature 分支
|
|
164
|
+
|
|
165
|
+
选择 `[1]` 或直接运行 `gw f`:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
gw f
|
|
169
|
+
? 请输入 Story ID (可跳过): PROJ-123
|
|
170
|
+
? 请输入描述: add-user-login
|
|
171
|
+
✔ 分支创建成功: feature/20260111-PROJ-123-add-user-login
|
|
172
|
+
? 是否推送到远程? 是
|
|
173
|
+
✔ 已推送到远程: origin/feature/20260111-PROJ-123-add-user-login
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 3. 使用 AI 提交代码
|
|
177
|
+
|
|
178
|
+
修改一些文件后,使用 AI 自动生成提交信息:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
gw c
|
|
182
|
+
已暂存的文件:
|
|
183
|
+
src/auth.ts
|
|
184
|
+
src/login.ts
|
|
185
|
+
────────────────────────────────────────
|
|
186
|
+
? 选择 commit 方式:
|
|
187
|
+
❯ 🤖 AI 自动生成 commit message
|
|
188
|
+
✍️ 手动编写 commit message
|
|
189
|
+
|
|
190
|
+
✔ AI 生成完成
|
|
191
|
+
|
|
192
|
+
AI 生成的 commit message:
|
|
193
|
+
✨ feat(auth): 添加用户登录功能
|
|
194
|
+
|
|
195
|
+
- 实现用户名密码验证
|
|
196
|
+
- 添加登录状态管理
|
|
197
|
+
- 集成 JWT token 处理
|
|
198
|
+
────────────────────────────────────────
|
|
199
|
+
? 使用这个 commit message?
|
|
200
|
+
❯ ✅ 使用
|
|
201
|
+
❌ 不使用,切换到手动模式
|
|
202
|
+
|
|
203
|
+
✔ 提交成功
|
|
204
|
+
commit: a1b2c3d
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### 4. 创建版本标签
|
|
208
|
+
|
|
209
|
+
功能开发完成后,创建版本标签:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
gw t
|
|
213
|
+
? 选择 tag 前缀: v (最新: v1.2.0)
|
|
214
|
+
? 选择版本类型:
|
|
215
|
+
❯ patch → v1.2.1
|
|
216
|
+
minor → v1.3.0
|
|
217
|
+
major → v2.0.0
|
|
218
|
+
alpha → v1.2.1-alpha.1
|
|
219
|
+
beta → v1.2.1-beta.1
|
|
220
|
+
rc → v1.2.1-rc.1
|
|
221
|
+
|
|
222
|
+
✔ Tag 创建成功: v1.2.1
|
|
223
|
+
✔ Tag 已推送: v1.2.1
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## 🎨 界面特性
|
|
227
|
+
|
|
228
|
+
Git Workflow 提供了优雅的命令行界面:
|
|
229
|
+
|
|
230
|
+
### 颜色编码
|
|
231
|
+
|
|
232
|
+
- 🟢 **绿色** - 成功信息、分支名
|
|
233
|
+
- 🟡 **黄色** - 警告信息、版本号
|
|
234
|
+
- 🔴 **红色** - 错误信息
|
|
235
|
+
- 🔵 **蓝色** - 链接、命令
|
|
236
|
+
- ⚪ **灰色** - 辅助信息、时间
|
|
237
|
+
|
|
238
|
+
### 图标系统
|
|
239
|
+
|
|
240
|
+
- ✨ **功能** - feature 相关操作
|
|
241
|
+
- 🐛 **修复** - hotfix 相关操作
|
|
242
|
+
- 🏷️ **标签** - tag 相关操作
|
|
243
|
+
- 📝 **提交** - commit 相关操作
|
|
244
|
+
- 💾 **暂存** - stash 相关操作
|
|
245
|
+
- ⚙️ **配置** - 配置相关操作
|
|
246
|
+
|
|
247
|
+
### 键盘操作
|
|
248
|
+
|
|
249
|
+
- **方向键** - 上下选择选项
|
|
250
|
+
- **空格键** - 多选模式下选择/取消选择
|
|
251
|
+
- **回车键** - 确认选择
|
|
252
|
+
- **Ctrl+C** - 优雅退出
|
|
253
|
+
|
|
254
|
+
## 🔧 常用命令速查
|
|
255
|
+
|
|
256
|
+
安装完成后,你可以使用这些常用命令:
|
|
257
|
+
|
|
258
|
+
| 命令 | 功能 | 示例 |
|
|
259
|
+
| ------- | -------------------- | ----------------------- |
|
|
260
|
+
| `gw` | 显示交互式菜单 | `gw` |
|
|
261
|
+
| `gw f` | 创建 feature 分支 | `gw f --base develop` |
|
|
262
|
+
| `gw h` | 创建 hotfix 分支 | `gw h` |
|
|
263
|
+
| `gw c` | 提交代码(AI 模式) | `gw c` |
|
|
264
|
+
| `gw t` | 创建 tag | `gw t v` |
|
|
265
|
+
| `gw d` | 删除分支 | `gw d` |
|
|
266
|
+
| `gw s` | 管理 stash | `gw s` |
|
|
267
|
+
| `gw r` | 发布版本 | `gw r` |
|
|
268
|
+
| `gw ts` | 列出 tags | `gw ts v` |
|
|
269
|
+
| `gw td` | 删除 tag | `gw td` |
|
|
270
|
+
| `gw tu` | 修改 tag | `gw tu` |
|
|
271
|
+
| `gw upt`| 更新工具 | `gw upt` |
|
|
272
|
+
|
|
273
|
+
## 🎯 下一步
|
|
274
|
+
|
|
275
|
+
现在你已经掌握了 Git Workflow 的基础用法,可以继续学习:
|
|
276
|
+
|
|
277
|
+
- [**基础用法**](/guide/basic-usage) - 详细了解每个命令的用法
|
|
278
|
+
- [**AI 智能提交**](/guide/ai-commit) - 深入了解 AI commit 功能
|
|
279
|
+
- [**配置文件**](/config/) - 自定义工具行为
|
|
280
|
+
- [**最佳实践**](/guide/best-practices) - 学习高效的工作流程
|
|
281
|
+
|
|
282
|
+
## ❓ 遇到问题?
|
|
283
|
+
|
|
284
|
+
如果在使用过程中遇到问题:
|
|
285
|
+
|
|
286
|
+
1. **查看帮助** - 运行 `gw --help` 或 `gw` 选择帮助选项
|
|
287
|
+
2. **检查版本** - 运行 `gw --version` 确保使用最新版本
|
|
288
|
+
3. **更新工具** - 运行 `gw upt` 更新到最新版本
|
|
289
|
+
4. **查看文档** - 浏览完整的 [命令参考](/commands/)
|
|
290
|
+
5. **反馈问题** - 在 [GitHub Issues](https://github.com/iamzjt-front-end/git-workflow/issues) 提交问题
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
🎉 **恭喜!** 你已经成功开始使用 Git Workflow。享受高效的 Git 工作流吧!
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# 介绍
|
|
2
|
+
|
|
3
|
+
Git Workflow 是一个极简的 Git 工作流 CLI 工具,旨在让分支管理和版本发布变得轻松愉快。它通过提供一套简洁的命令和交互式界面,帮助开发者专注于编码,而不是复杂的 Git 操作。
|
|
4
|
+
|
|
5
|
+
## 🎯 设计理念
|
|
6
|
+
|
|
7
|
+
### 极简主义
|
|
8
|
+
|
|
9
|
+
Git Workflow 遵循"少即是多"的设计理念:
|
|
10
|
+
|
|
11
|
+
- **零配置开箱即用** - 无需复杂配置即可开始使用
|
|
12
|
+
- **交互式引导** - 通过友好的交互界面引导用户操作
|
|
13
|
+
- **智能默认值** - 提供合理的默认配置,减少决策负担
|
|
14
|
+
|
|
15
|
+
### 规范化
|
|
16
|
+
|
|
17
|
+
统一的规范能够提高团队协作效率:
|
|
18
|
+
|
|
19
|
+
- **分支命名规范** - 自动生成带日期和描述的分支名
|
|
20
|
+
- **提交信息规范** - 遵循 Conventional Commits 标准
|
|
21
|
+
- **版本号规范** - 支持语义化版本控制(semver)
|
|
22
|
+
|
|
23
|
+
### 智能化
|
|
24
|
+
|
|
25
|
+
利用现代技术提升开发体验:
|
|
26
|
+
|
|
27
|
+
- **AI 智能提交** - 自动分析代码变更生成提交信息
|
|
28
|
+
- **智能版本递增** - 根据现有版本自动推荐下一版本
|
|
29
|
+
- **智能分支检测** - 自动检测基础分支和远程状态
|
|
30
|
+
|
|
31
|
+
## 🌟 核心优势
|
|
32
|
+
|
|
33
|
+
### 1. 提高效率
|
|
34
|
+
|
|
35
|
+
- **减少重复操作** - 一个命令完成多个 Git 操作
|
|
36
|
+
- **快速分支创建** - 自动生成规范的分支名
|
|
37
|
+
- **批量分支清理** - 一键删除本地和远程分支
|
|
38
|
+
- **可视化 Stash 管理** - 直观管理代码暂存
|
|
39
|
+
|
|
40
|
+
### 2. 降低出错率
|
|
41
|
+
|
|
42
|
+
- **自动检测冲突** - 创建分支前检查未提交更改
|
|
43
|
+
- **智能推送策略** - 根据配置自动或询问推送
|
|
44
|
+
- **版本号验证** - 防止创建重复或无效的版本号
|
|
45
|
+
- **远程分支同步** - 自动处理本地和远程分支状态
|
|
46
|
+
|
|
47
|
+
### 3. 团队协作
|
|
48
|
+
|
|
49
|
+
- **统一规范** - 通过配置文件统一团队工作流
|
|
50
|
+
- **灵活配置** - 支持项目级和全局配置
|
|
51
|
+
- **可追溯性** - 规范的分支名和提交信息便于追溯
|
|
52
|
+
- **文档生成** - 规范的提交信息便于生成 CHANGELOG
|
|
53
|
+
|
|
54
|
+
### 4. 学习成本低
|
|
55
|
+
|
|
56
|
+
- **直观的交互界面** - 菜单式操作,无需记忆复杂命令
|
|
57
|
+
- **详细的提示信息** - 每个操作都有清晰的说明
|
|
58
|
+
- **渐进式学习** - 可以从交互式菜单开始,逐步学习快捷命令
|
|
59
|
+
- **完善的文档** - 提供详细的使用指南和最佳实践
|
|
60
|
+
|
|
61
|
+
## 🔧 技术特性
|
|
62
|
+
|
|
63
|
+
### 跨平台支持
|
|
64
|
+
|
|
65
|
+
- **操作系统** - 支持 Windows、macOS、Linux
|
|
66
|
+
- **Node.js 版本** - 要求 Node.js >= 18.0.0
|
|
67
|
+
- **包管理器** - 支持 npm、pnpm、yarn、Volta
|
|
68
|
+
|
|
69
|
+
### 现代化架构
|
|
70
|
+
|
|
71
|
+
- **TypeScript** - 使用 TypeScript 开发,提供类型安全
|
|
72
|
+
- **ESM 模块** - 使用现代 ES 模块系统
|
|
73
|
+
- **轻量依赖** - 精选依赖,保持包体积小巧
|
|
74
|
+
- **快速启动** - 优化启动速度,响应迅速
|
|
75
|
+
|
|
76
|
+
### 扩展性
|
|
77
|
+
|
|
78
|
+
- **插件化设计** - 模块化架构,易于扩展
|
|
79
|
+
- **配置驱动** - 通过配置文件自定义行为
|
|
80
|
+
- **API 友好** - 清晰的 API 设计,便于集成
|
|
81
|
+
|
|
82
|
+
## 🎨 用户体验
|
|
83
|
+
|
|
84
|
+
### 视觉设计
|
|
85
|
+
|
|
86
|
+
- **ASCII Art Logo** - 独特的品牌标识
|
|
87
|
+
- **颜色编码** - 使用颜色区分不同类型的信息
|
|
88
|
+
- **图标支持** - 丰富的 emoji 和图标增强可读性
|
|
89
|
+
- **进度指示** - 清晰的操作进度反馈
|
|
90
|
+
|
|
91
|
+
### 交互设计
|
|
92
|
+
|
|
93
|
+
- **键盘导航** - 支持方向键、空格、回车等快捷操作
|
|
94
|
+
- **搜索过滤** - 在长列表中快速查找目标项
|
|
95
|
+
- **批量操作** - 支持多选和批量处理
|
|
96
|
+
- **撤销机制** - 重要操作前提供确认和撤销选项
|
|
97
|
+
|
|
98
|
+
### 错误处理
|
|
99
|
+
|
|
100
|
+
- **优雅退出** - 正确处理 Ctrl+C 等中断信号
|
|
101
|
+
- **详细错误信息** - 提供具体的错误原因和解决建议
|
|
102
|
+
- **自动恢复** - 在可能的情况下自动恢复错误状态
|
|
103
|
+
- **日志记录** - 记录关键操作便于问题排查
|
|
104
|
+
|
|
105
|
+
## 🚀 适用场景
|
|
106
|
+
|
|
107
|
+
### 个人开发
|
|
108
|
+
|
|
109
|
+
- **快速原型** - 快速创建和管理功能分支
|
|
110
|
+
- **版本发布** - 简化版本号管理和标签创建
|
|
111
|
+
- **代码整理** - 使用 AI 生成规范的提交信息
|
|
112
|
+
- **历史管理** - 清晰的分支和提交历史
|
|
113
|
+
|
|
114
|
+
### 团队协作
|
|
115
|
+
|
|
116
|
+
- **规范统一** - 通过配置文件统一团队工作流
|
|
117
|
+
- **代码审查** - 规范的分支名便于代码审查管理
|
|
118
|
+
- **发布管理** - 统一的版本发布流程
|
|
119
|
+
- **知识传承** - 降低新成员学习成本
|
|
120
|
+
|
|
121
|
+
### 企业级项目
|
|
122
|
+
|
|
123
|
+
- **合规要求** - 满足企业级项目的规范要求
|
|
124
|
+
- **可追溯性** - 完整的操作记录便于审计
|
|
125
|
+
- **集成能力** - 易于集成到现有的 CI/CD 流程
|
|
126
|
+
- **扩展性** - 支持自定义配置适应不同项目需求
|
|
127
|
+
|
|
128
|
+
## 📈 发展路线
|
|
129
|
+
|
|
130
|
+
### 已实现功能
|
|
131
|
+
|
|
132
|
+
- ✅ 分支管理(创建、删除、命名规范)
|
|
133
|
+
- ✅ Tag 管理(创建、删除、版本递增)
|
|
134
|
+
- ✅ 提交管理(AI 生成、规范格式)
|
|
135
|
+
- ✅ Stash 管理(可视化操作)
|
|
136
|
+
- ✅ 版本发布(package.json 更新)
|
|
137
|
+
- ✅ 配置系统(项目级、全局配置)
|
|
138
|
+
- ✅ 自动更新(版本检测、一键更新)
|
|
139
|
+
|
|
140
|
+
### 计划中功能
|
|
141
|
+
|
|
142
|
+
- 🔄 工作流模板(预设常用工作流)
|
|
143
|
+
- 🔄 Git Hooks 集成(自动化检查)
|
|
144
|
+
- 🔄 CHANGELOG 生成(基于提交历史)
|
|
145
|
+
- 🔄 多仓库管理(monorepo 支持)
|
|
146
|
+
- 🔄 可视化界面(Web UI)
|
|
147
|
+
- 🔄 插件系统(第三方扩展)
|
|
148
|
+
|
|
149
|
+
## 🤝 社区
|
|
150
|
+
|
|
151
|
+
Git Workflow 是一个开源项目,欢迎社区贡献:
|
|
152
|
+
|
|
153
|
+
- **GitHub** - [源码仓库](https://github.com/iamzjt-front-end/git-workflow)
|
|
154
|
+
- **npm** - [包管理](https://www.npmjs.com/package/@zjex/git-workflow)
|
|
155
|
+
- **Issues** - [问题反馈](https://github.com/iamzjt-front-end/git-workflow/issues)
|
|
156
|
+
- **Discussions** - [功能讨论](https://github.com/iamzjt-front-end/git-workflow/discussions)
|
|
157
|
+
|
|
158
|
+
### 贡献方式
|
|
159
|
+
|
|
160
|
+
- 🐛 **报告 Bug** - 发现问题请及时反馈
|
|
161
|
+
- 💡 **功能建议** - 提出新功能想法
|
|
162
|
+
- 📝 **文档改进** - 完善文档和示例
|
|
163
|
+
- 🔧 **代码贡献** - 提交 Pull Request
|
|
164
|
+
- 🌟 **推广分享** - 向更多开发者推荐
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
准备好开始使用了吗?查看 [快速开始](/guide/getting-started) 了解如何安装和配置 Git Workflow。
|