@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.
Files changed (99) hide show
  1. package/.github/workflows/deploy-docs.yml +68 -0
  2. package/.github/workflows/test.yml +24 -4
  3. package/.husky/pre-commit +17 -0
  4. package/README.md +72 -1066
  5. package/ROADMAP.md +275 -0
  6. package/dist/index.js +450 -99
  7. package/docs/.vitepress/cache/deps/_metadata.json +52 -0
  8. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js +9719 -0
  9. package/docs/.vitepress/cache/deps/chunk-2CLQ7TTZ.js.map +7 -0
  10. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +12824 -0
  11. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +7 -0
  12. package/docs/.vitepress/cache/deps/package.json +3 -0
  13. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
  14. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  15. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +583 -0
  16. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  17. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  18. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  19. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
  20. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  21. package/docs/.vitepress/cache/deps/vitepress___minisearch.js +1813 -0
  22. package/docs/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
  23. package/docs/.vitepress/cache/deps/vue.js +347 -0
  24. package/docs/.vitepress/cache/deps/vue.js.map +7 -0
  25. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js +9719 -0
  26. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-2CLQ7TTZ.js.map +7 -0
  27. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js +12824 -0
  28. package/docs/.vitepress/cache/deps_temp_44e2fb0f/chunk-LE5NDSFD.js.map +7 -0
  29. package/docs/.vitepress/cache/deps_temp_44e2fb0f/package.json +3 -0
  30. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js +4505 -0
  31. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vue_devtools-api.js.map +7 -0
  32. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js +583 -0
  33. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_core.js.map +7 -0
  34. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  35. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  36. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js +1665 -0
  37. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  38. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js +1813 -0
  39. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vitepress___minisearch.js.map +7 -0
  40. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js +347 -0
  41. package/docs/.vitepress/cache/deps_temp_44e2fb0f/vue.js.map +7 -0
  42. package/docs/.vitepress/config.ts +167 -0
  43. package/docs/.vitepress/theme/custom.css +39 -0
  44. package/docs/.vitepress/theme/index.ts +4 -0
  45. package/docs/README.md +82 -0
  46. package/docs/commands/branch.md +468 -0
  47. package/docs/commands/commit.md +554 -0
  48. package/docs/commands/config.md +346 -0
  49. package/docs/commands/index.md +312 -0
  50. package/docs/commands/interactive.md +384 -0
  51. package/docs/commands/release.md +300 -0
  52. package/docs/commands/stash.md +309 -0
  53. package/docs/commands/tag.md +278 -0
  54. package/docs/commands/update.md +347 -0
  55. package/docs/config/ai-config.md +160 -0
  56. package/docs/config/branch-config.md +133 -0
  57. package/docs/config/commit-config.md +185 -0
  58. package/docs/config/config-file.md +776 -0
  59. package/docs/config/examples.md +279 -0
  60. package/docs/config/index.md +478 -0
  61. package/docs/features/git-wrapped.md +199 -0
  62. package/docs/guide/ai-commit.md +576 -0
  63. package/docs/guide/basic-usage.md +522 -0
  64. package/docs/guide/best-practices.md +426 -0
  65. package/docs/guide/branch-management.md +712 -0
  66. package/docs/guide/getting-started.md +294 -0
  67. package/docs/guide/index.md +168 -0
  68. package/docs/guide/installation.md +449 -0
  69. package/docs/guide/release-management.md +744 -0
  70. package/docs/guide/stash-management.md +608 -0
  71. package/docs/guide/tag-management.md +614 -0
  72. package/docs/index.md +205 -0
  73. package/docs/public/favicon.svg +21 -0
  74. package/docs/public/hero-logo.svg +43 -0
  75. package/docs/public/logo.svg +20 -0
  76. package/package.json +12 -2
  77. package/scripts/publish.js +55 -8
  78. package/scripts/publish.sh +20 -2
  79. package/scripts/release.sh +81 -3
  80. package/scripts/update-test-count.js +55 -0
  81. package/src/ai-service.ts +107 -15
  82. package/src/commands/commit.ts +4 -0
  83. package/src/commands/init.ts +18 -0
  84. package/src/commands/log.ts +503 -0
  85. package/src/config.ts +1 -0
  86. package/src/index.ts +37 -13
  87. package/src/utils.ts +10 -0
  88. package/tests/ai-service.test.ts +237 -2
  89. package/tests/init.test.ts +582 -0
  90. package/tests/log.test.ts +106 -0
  91. package/tests/release.test.ts +333 -0
  92. package/tests/setup.ts +21 -0
  93. package/tests/stash.test.ts +376 -0
  94. package/tests/update.test.ts +402 -0
  95. package/vitest.config.ts +3 -0
  96. package/zjex-logo.svg +22 -0
  97. package/zjex-optimized.svg +34 -0
  98. package/zjex.svg +1 -0
  99. package/src/commands/help.ts +0 -76
@@ -0,0 +1,449 @@
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
+ - **操作系统**: Windows 10+, macOS 10.15+, Linux (Ubuntu 18.04+)
16
+ - **终端**: 支持 ANSI 颜色的现代终端
17
+ - **字体**: 支持 Unicode 字符的字体(用于显示 emoji)
18
+
19
+ ## 🚀 安装方法
20
+
21
+ ### 方法一:npm(推荐)
22
+
23
+ ```bash
24
+ npm install -g @zjex/git-workflow
25
+ ```
26
+
27
+ ### 方法二:pnpm
28
+
29
+ ```bash
30
+ pnpm add -g @zjex/git-workflow
31
+ ```
32
+
33
+ ### 方法三:yarn
34
+
35
+ ```bash
36
+ yarn global add @zjex/git-workflow
37
+ ```
38
+
39
+ ### 方法四:Volta
40
+
41
+ 如果你使用 [Volta](https://volta.sh/) 管理 Node.js 版本:
42
+
43
+ ```bash
44
+ volta install @zjex/git-workflow
45
+ ```
46
+
47
+ ## ✅ 验证安装
48
+
49
+ 安装完成后,验证是否成功:
50
+
51
+ ```bash
52
+ # 检查版本
53
+ gw --version
54
+ # 输出: v0.2.24
55
+
56
+ # 检查命令是否可用
57
+ gw --help
58
+ # 显示帮助信息
59
+
60
+ # 运行交互式菜单
61
+ gw
62
+ # 显示主菜单
63
+ ```
64
+
65
+ 如果看到版本号和帮助信息,说明安装成功!
66
+
67
+ ## 🔧 环境配置
68
+
69
+ ### 终端配置
70
+
71
+ 为了获得最佳体验,建议配置终端:
72
+
73
+ #### Windows
74
+
75
+ **推荐终端:**
76
+ - [Windows Terminal](https://github.com/microsoft/terminal) - 微软官方现代终端
77
+ - [PowerShell 7+](https://github.com/PowerShell/PowerShell) - 跨平台 PowerShell
78
+
79
+ **配置步骤:**
80
+
81
+ 1. 安装 Windows Terminal:
82
+ ```powershell
83
+ winget install Microsoft.WindowsTerminal
84
+ ```
85
+
86
+ 2. 配置字体(支持 emoji):
87
+ - 打开 Windows Terminal 设置
88
+ - 选择字体:`Cascadia Code` 或 `JetBrains Mono`
89
+ - 启用 Unicode 支持
90
+
91
+ #### macOS
92
+
93
+ **推荐终端:**
94
+ - [iTerm2](https://iterm2.com/) - 功能强大的终端
95
+ - Terminal.app - 系统自带终端
96
+
97
+ **配置步骤:**
98
+
99
+ 1. 安装 iTerm2:
100
+ ```bash
101
+ brew install --cask iterm2
102
+ ```
103
+
104
+ 2. 配置字体:
105
+ - 偏好设置 → Profiles → Text
106
+ - 选择字体:`SF Mono` 或 `JetBrains Mono`
107
+
108
+ #### Linux
109
+
110
+ **推荐终端:**
111
+ - [Alacritty](https://github.com/alacritty/alacritty) - 高性能终端
112
+ - [Kitty](https://sw.kovidgoyal.net/kitty/) - 功能丰富的终端
113
+ - GNOME Terminal - 系统默认终端
114
+
115
+ **配置步骤:**
116
+
117
+ 1. 安装 Alacritty:
118
+ ```bash
119
+ # Ubuntu/Debian
120
+ sudo apt install alacritty
121
+
122
+ # Arch Linux
123
+ sudo pacman -S alacritty
124
+
125
+ # Fedora
126
+ sudo dnf install alacritty
127
+ ```
128
+
129
+ 2. 配置字体:
130
+ ```bash
131
+ # 安装推荐字体
132
+ sudo apt install fonts-jetbrains-mono
133
+ ```
134
+
135
+ ### Shell 配置
136
+
137
+ #### Bash
138
+
139
+ 添加到 `~/.bashrc`:
140
+
141
+ ```bash
142
+ # Git Workflow 别名
143
+ alias gwf='gw f'
144
+ alias gwh='gw h'
145
+ alias gwc='gw c'
146
+ alias gwt='gw t'
147
+ alias gwd='gw d'
148
+ alias gws='gw s'
149
+
150
+ # 自动补全(如果支持)
151
+ if command -v gw >/dev/null 2>&1; then
152
+ eval "$(gw --completion bash)"
153
+ fi
154
+ ```
155
+
156
+ #### Zsh
157
+
158
+ 添加到 `~/.zshrc`:
159
+
160
+ ```bash
161
+ # Git Workflow 别名
162
+ alias gwf='gw f'
163
+ alias gwh='gw h'
164
+ alias gwc='gw c'
165
+ alias gwt='gw t'
166
+ alias gwd='gw d'
167
+ alias gws='gw s'
168
+
169
+ # 自动补全(如果支持)
170
+ if command -v gw >/dev/null 2>&1; then
171
+ eval "$(gw --completion zsh)"
172
+ fi
173
+ ```
174
+
175
+ #### Fish
176
+
177
+ 添加到 `~/.config/fish/config.fish`:
178
+
179
+ ```fish
180
+ # Git Workflow 别名
181
+ alias gwf='gw f'
182
+ alias gwh='gw h'
183
+ alias gwc='gw c'
184
+ alias gwt='gw t'
185
+ alias gwd='gw d'
186
+ alias gws='gw s'
187
+
188
+ # 自动补全(如果支持)
189
+ if command -v gw >/dev/null 2>&1
190
+ gw --completion fish | source
191
+ end
192
+ ```
193
+
194
+ ## 🎯 首次配置
195
+
196
+ 安装完成后,建议立即进行初始配置:
197
+
198
+ ### 1. 创建全局配置
199
+
200
+ ```bash
201
+ gw init
202
+ ```
203
+
204
+ 选择 **全局配置(所有项目生效)**,这样所有项目都能使用 AI commit 等功能。
205
+
206
+ ### 2. 配置 AI Commit(推荐)
207
+
208
+ 如果选择启用 AI commit,推荐使用 GitHub Models(免费):
209
+
210
+ 1. 访问:https://github.com/settings/tokens/new
211
+ 2. Token 名称:`git-workflow-ai`
212
+ 3. 勾选权限:`repo`
213
+ 4. 生成并复制 token
214
+ 5. 在配置过程中输入 token
215
+
216
+ ### 3. 测试配置
217
+
218
+ 在任意 Git 项目中测试:
219
+
220
+ ```bash
221
+ cd your-project
222
+ gw c # 测试 AI commit
223
+ gw f # 测试分支创建
224
+ ```
225
+
226
+ ## 🔄 更新
227
+
228
+ ### 检查更新
229
+
230
+ Git Workflow 会自动检查更新,也可以手动检查:
231
+
232
+ ```bash
233
+ gw upt
234
+ ```
235
+
236
+ ### 自动更新
237
+
238
+ 工具会在每次运行时检查更新(非阻塞),发现新版本时会提示。
239
+
240
+ ### 手动更新
241
+
242
+ 如果自动更新失败,可以手动更新:
243
+
244
+ ```bash
245
+ # npm
246
+ npm update -g @zjex/git-workflow
247
+
248
+ # pnpm
249
+ pnpm update -g @zjex/git-workflow
250
+
251
+ # yarn
252
+ yarn global upgrade @zjex/git-workflow
253
+
254
+ # Volta
255
+ volta install @zjex/git-workflow@latest
256
+ ```
257
+
258
+ ## 🗑️ 卸载
259
+
260
+ 如果需要卸载 Git Workflow:
261
+
262
+ ### 1. 卸载包
263
+
264
+ ```bash
265
+ # npm
266
+ npm uninstall -g @zjex/git-workflow
267
+
268
+ # pnpm
269
+ pnpm remove -g @zjex/git-workflow
270
+
271
+ # yarn
272
+ yarn global remove @zjex/git-workflow
273
+
274
+ # Volta
275
+ volta uninstall @zjex/git-workflow
276
+ ```
277
+
278
+ ### 2. 清理配置文件
279
+
280
+ ```bash
281
+ # 删除全局配置
282
+ rm ~/.gwrc.json
283
+
284
+ # 删除缓存文件
285
+ rm ~/.gw-update-check
286
+
287
+ # 删除项目配置(可选)
288
+ find . -name ".gwrc.json" -delete
289
+ ```
290
+
291
+ ### 3. 清理 Shell 配置
292
+
293
+ 从 shell 配置文件中删除相关的别名和自动补全配置。
294
+
295
+ ## 🐛 故障排除
296
+
297
+ ### 常见问题
298
+
299
+ #### 1. 命令未找到
300
+
301
+ ```bash
302
+ gw: command not found
303
+ ```
304
+
305
+ **可能原因:**
306
+ - 安装失败
307
+ - PATH 环境变量未更新
308
+ - 使用了错误的包管理器
309
+
310
+ **解决方案:**
311
+ ```bash
312
+ # 检查是否安装成功
313
+ npm list -g @zjex/git-workflow
314
+
315
+ # 重新安装
316
+ npm install -g @zjex/git-workflow
317
+
318
+ # 刷新 PATH(重新打开终端)
319
+ hash -r # bash/zsh
320
+ rehash # fish
321
+ ```
322
+
323
+ #### 2. 权限错误
324
+
325
+ ```bash
326
+ EACCES: permission denied
327
+ ```
328
+
329
+ **解决方案:**
330
+ ```bash
331
+ # 方法一:使用 npx(推荐)
332
+ npx @zjex/git-workflow
333
+
334
+ # 方法二:修复 npm 权限
335
+ npm config set prefix ~/.npm-global
336
+ echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
337
+ source ~/.bashrc
338
+
339
+ # 方法三:使用 sudo(不推荐)
340
+ sudo npm install -g @zjex/git-workflow
341
+ ```
342
+
343
+ #### 3. Node.js 版本过低
344
+
345
+ ```bash
346
+ Error: Node.js version 16.x is not supported
347
+ ```
348
+
349
+ **解决方案:**
350
+ ```bash
351
+ # 检查 Node.js 版本
352
+ node --version
353
+
354
+ # 升级 Node.js(使用 nvm)
355
+ nvm install 18
356
+ nvm use 18
357
+
358
+ # 或使用 Volta
359
+ volta install node@18
360
+ ```
361
+
362
+ #### 4. 网络连接问题
363
+
364
+ ```bash
365
+ npm ERR! network timeout
366
+ ```
367
+
368
+ **解决方案:**
369
+ ```bash
370
+ # 使用国内镜像
371
+ npm install -g @zjex/git-workflow --registry=https://registry.npmmirror.com
372
+
373
+ # 或配置代理
374
+ npm config set proxy http://proxy.company.com:8080
375
+ npm config set https-proxy http://proxy.company.com:8080
376
+ ```
377
+
378
+ #### 5. 终端显示异常
379
+
380
+ 如果终端显示乱码或 emoji 不正常:
381
+
382
+ **解决方案:**
383
+ 1. 确保终端支持 UTF-8 编码
384
+ 2. 安装支持 Unicode 的字体
385
+ 3. 在配置中禁用 emoji:
386
+ ```json
387
+ {
388
+ "useEmoji": false
389
+ }
390
+ ```
391
+
392
+ ### 诊断工具
393
+
394
+ #### 环境检查
395
+
396
+ ```bash
397
+ # 检查 Node.js 版本
398
+ node --version
399
+
400
+ # 检查 npm 版本
401
+ npm --version
402
+
403
+ # 检查 Git 版本
404
+ git --version
405
+
406
+ # 检查安装位置
407
+ which gw
408
+ npm list -g @zjex/git-workflow
409
+ ```
410
+
411
+ #### 调试模式
412
+
413
+ 启用详细日志:
414
+
415
+ ```bash
416
+ DEBUG=gw:* gw c
417
+ ```
418
+
419
+ #### 重置配置
420
+
421
+ 如果配置出现问题:
422
+
423
+ ```bash
424
+ # 备份现有配置
425
+ cp ~/.gwrc.json ~/.gwrc.json.backup
426
+
427
+ # 重新初始化
428
+ gw init --reset
429
+ ```
430
+
431
+ ## 📚 下一步
432
+
433
+ 安装完成后,建议继续学习:
434
+
435
+ - [**快速开始**](/guide/getting-started) - 三步开始使用
436
+ - [**基础用法**](/guide/basic-usage) - 掌握基本操作
437
+ - [**配置文件**](/config/) - 自定义工具行为
438
+ - [**命令参考**](/commands/) - 查看所有可用命令
439
+
440
+ ## 💡 提示
441
+
442
+ - **定期更新** - 运行 `gw upt` 保持工具最新
443
+ - **备份配置** - 重要的配置文件建议备份
444
+ - **团队共享** - 项目配置可以提交到版本控制
445
+ - **问题反馈** - 遇到问题请在 [GitHub Issues](https://github.com/iamzjt-front-end/git-workflow/issues) 反馈
446
+
447
+ ---
448
+
449
+ 🎉 **安装完成!** 现在你可以开始享受高效的 Git 工作流了。