@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,346 @@
|
|
|
1
|
+
# Config 命令
|
|
2
|
+
|
|
3
|
+
配置管理相关的命令详解。
|
|
4
|
+
|
|
5
|
+
## 📋 命令概览
|
|
6
|
+
|
|
7
|
+
| 命令 | 说明 |
|
|
8
|
+
|------|------|
|
|
9
|
+
| `gw init` | 交互式初始化配置 |
|
|
10
|
+
|
|
11
|
+
## ⚙️ 初始化配置
|
|
12
|
+
|
|
13
|
+
### 基本用法
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
gw init
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 配置流程
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
$ gw init
|
|
23
|
+
⚙️ 初始化 git-workflow 配置
|
|
24
|
+
|
|
25
|
+
? 选择配置范围:
|
|
26
|
+
❯ 全局配置(所有项目生效)
|
|
27
|
+
项目配置(仅当前项目)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 🌍 配置范围
|
|
31
|
+
|
|
32
|
+
### 全局配置
|
|
33
|
+
|
|
34
|
+
**位置**:`~/.gwrc.json`
|
|
35
|
+
**作用域**:所有项目
|
|
36
|
+
**优势**:一次配置,处处使用
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
? 选择配置范围: 全局配置(所有项目生效)
|
|
40
|
+
|
|
41
|
+
配置保存到: ~/.gwrc.json
|
|
42
|
+
✔ 所有项目都会使用此配置
|
|
43
|
+
✔ 无需在每个项目中重复配置
|
|
44
|
+
✔ 新项目自动继承配置
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 项目配置
|
|
48
|
+
|
|
49
|
+
**位置**:`.gwrc.json`
|
|
50
|
+
**作用域**:当前项目
|
|
51
|
+
**优势**:项目特定配置,团队共享
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
? 选择配置范围: 项目配置(仅当前项目)
|
|
55
|
+
|
|
56
|
+
配置保存到: .gwrc.json
|
|
57
|
+
✔ 仅当前项目使用此配置
|
|
58
|
+
✔ 可以提交到版本控制
|
|
59
|
+
✔ 团队成员共享配置
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 🔧 配置项详解
|
|
63
|
+
|
|
64
|
+
### 基础分支配置
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
? 默认基础分支 (留空自动检测 main/master): develop
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 分支前缀配置
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
? Feature 分支前缀: feature
|
|
74
|
+
? Hotfix 分支前缀: hotfix
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### ID 配置
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
? 是否要求必填 ID (Story ID / Issue ID)?
|
|
81
|
+
❯ 否
|
|
82
|
+
是
|
|
83
|
+
|
|
84
|
+
? Feature 分支 ID 标签: Story ID
|
|
85
|
+
? Hotfix 分支 ID 标签: Issue ID
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Tag 配置
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
? 默认 Tag 前缀 (留空则每次选择): v
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 推送配置
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
? 创建分支后是否自动推送?
|
|
98
|
+
❯ 每次询问
|
|
99
|
+
自动推送
|
|
100
|
+
不推送
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Commit 配置
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
? Commit 时是否自动暂存所有更改?
|
|
107
|
+
❯ 是
|
|
108
|
+
否
|
|
109
|
+
|
|
110
|
+
? Commit 时是否使用 emoji?
|
|
111
|
+
❯ 是
|
|
112
|
+
否
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### AI Commit 配置
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
? 是否启用 AI Commit 功能?
|
|
119
|
+
❯ 是(推荐)
|
|
120
|
+
否
|
|
121
|
+
|
|
122
|
+
? 选择 AI 提供商:
|
|
123
|
+
❯ GitHub Models(免费,推荐)
|
|
124
|
+
OpenAI(付费)
|
|
125
|
+
Claude(付费)
|
|
126
|
+
Ollama(本地)
|
|
127
|
+
|
|
128
|
+
? 生成的 commit message 语言:
|
|
129
|
+
❯ 中文
|
|
130
|
+
English
|
|
131
|
+
|
|
132
|
+
? 是否生成详细的修改点描述?
|
|
133
|
+
❯ 是(包含修改点列表,推荐)
|
|
134
|
+
否(仅生成标题)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 📁 配置文件位置
|
|
138
|
+
|
|
139
|
+
### 查找顺序
|
|
140
|
+
|
|
141
|
+
1. **当前目录** - `.gwrc.json`, `.gwrc`, `gw.config.json`
|
|
142
|
+
2. **Git 根目录** - 同上文件名
|
|
143
|
+
3. **用户主目录** - `~/.gwrc.json`
|
|
144
|
+
|
|
145
|
+
### 配置合并
|
|
146
|
+
|
|
147
|
+
**优先级**:项目配置 > 全局配置 > 默认配置
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# 全局配置
|
|
151
|
+
~/.gwrc.json
|
|
152
|
+
{
|
|
153
|
+
"useEmoji": true,
|
|
154
|
+
"aiCommit": {
|
|
155
|
+
"enabled": true,
|
|
156
|
+
"provider": "github"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
# 项目配置
|
|
161
|
+
.gwrc.json
|
|
162
|
+
{
|
|
163
|
+
"requireId": true,
|
|
164
|
+
"featureIdLabel": "Jira ID"
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
# 最终生效配置
|
|
168
|
+
{
|
|
169
|
+
"useEmoji": true, # 来自全局配置
|
|
170
|
+
"requireId": true, # 来自项目配置
|
|
171
|
+
"featureIdLabel": "Jira ID", # 来自项目配置
|
|
172
|
+
"aiCommit": {
|
|
173
|
+
"enabled": true, # 来自全局配置
|
|
174
|
+
"provider": "github" # 来自全局配置
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## 🎯 使用场景
|
|
180
|
+
|
|
181
|
+
### 个人开发者
|
|
182
|
+
|
|
183
|
+
**推荐**:全局配置
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
gw init
|
|
187
|
+
# 选择:全局配置(所有项目生效)
|
|
188
|
+
# 配置 AI commit、个人偏好等
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**优势**:
|
|
192
|
+
- 一次配置,所有项目生效
|
|
193
|
+
- 新项目自动继承配置
|
|
194
|
+
- 无需重复配置
|
|
195
|
+
|
|
196
|
+
### 团队协作
|
|
197
|
+
|
|
198
|
+
**推荐**:全局配置 + 项目配置
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# 1. 个人全局配置
|
|
202
|
+
gw init
|
|
203
|
+
# 选择:全局配置
|
|
204
|
+
# 配置 AI commit API key 等个人信息
|
|
205
|
+
|
|
206
|
+
# 2. 项目团队配置
|
|
207
|
+
cd team-project
|
|
208
|
+
gw init
|
|
209
|
+
# 选择:项目配置
|
|
210
|
+
# 配置团队统一的分支规范、ID 要求等
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**优势**:
|
|
214
|
+
- 个人配置私有化
|
|
215
|
+
- 团队规范统一化
|
|
216
|
+
- 灵活组合配置
|
|
217
|
+
|
|
218
|
+
### 开源项目
|
|
219
|
+
|
|
220
|
+
**推荐**:项目配置
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
gw init
|
|
224
|
+
# 选择:项目配置(仅当前项目)
|
|
225
|
+
# 配置项目特定规范
|
|
226
|
+
# 提交到版本控制,贡献者共享
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## 🔄 配置更新
|
|
230
|
+
|
|
231
|
+
### 重新配置
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# 覆盖现有配置
|
|
235
|
+
gw init
|
|
236
|
+
|
|
237
|
+
? 全局配置文件已存在,是否覆盖?
|
|
238
|
+
❯ 否,取消
|
|
239
|
+
是,覆盖
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 手动编辑
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# 编辑全局配置
|
|
246
|
+
vim ~/.gwrc.json
|
|
247
|
+
|
|
248
|
+
# 编辑项目配置
|
|
249
|
+
vim .gwrc.json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 配置验证
|
|
253
|
+
|
|
254
|
+
工具会自动验证配置文件格式:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# 配置文件格式错误时
|
|
258
|
+
⚠️ 配置文件解析失败: ~/.gwrc.json
|
|
259
|
+
使用默认配置继续执行
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## 📋 配置模板
|
|
263
|
+
|
|
264
|
+
### 个人开发模板
|
|
265
|
+
|
|
266
|
+
```json
|
|
267
|
+
{
|
|
268
|
+
"featurePrefix": "feat",
|
|
269
|
+
"hotfixPrefix": "fix",
|
|
270
|
+
"requireId": false,
|
|
271
|
+
"autoStage": true,
|
|
272
|
+
"useEmoji": true,
|
|
273
|
+
"aiCommit": {
|
|
274
|
+
"enabled": true,
|
|
275
|
+
"provider": "github",
|
|
276
|
+
"language": "zh-CN",
|
|
277
|
+
"detailedDescription": true
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 团队协作模板
|
|
283
|
+
|
|
284
|
+
```json
|
|
285
|
+
{
|
|
286
|
+
"baseBranch": "develop",
|
|
287
|
+
"requireId": true,
|
|
288
|
+
"featureIdLabel": "Jira ID",
|
|
289
|
+
"hotfixIdLabel": "Bug ID",
|
|
290
|
+
"autoPush": true,
|
|
291
|
+
"autoStage": true,
|
|
292
|
+
"useEmoji": true,
|
|
293
|
+
"aiCommit": {
|
|
294
|
+
"enabled": true,
|
|
295
|
+
"language": "zh-CN",
|
|
296
|
+
"detailedDescription": true
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### 企业级模板
|
|
302
|
+
|
|
303
|
+
```json
|
|
304
|
+
{
|
|
305
|
+
"baseBranch": "develop",
|
|
306
|
+
"requireId": true,
|
|
307
|
+
"featureIdLabel": "Story ID",
|
|
308
|
+
"hotfixIdLabel": "Incident ID",
|
|
309
|
+
"defaultTagPrefix": "v",
|
|
310
|
+
"autoPush": true,
|
|
311
|
+
"autoStage": false,
|
|
312
|
+
"useEmoji": false,
|
|
313
|
+
"aiCommit": {
|
|
314
|
+
"enabled": true,
|
|
315
|
+
"provider": "openai",
|
|
316
|
+
"language": "en-US",
|
|
317
|
+
"detailedDescription": true
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## 🚀 最佳实践
|
|
323
|
+
|
|
324
|
+
### 配置策略
|
|
325
|
+
|
|
326
|
+
1. **全局配置** - 个人偏好和 API key
|
|
327
|
+
2. **项目配置** - 团队规范和项目特定设置
|
|
328
|
+
3. **环境变量** - 敏感信息(如 API key)
|
|
329
|
+
|
|
330
|
+
### 团队配置管理
|
|
331
|
+
|
|
332
|
+
1. **提交项目配置** - 将 `.gwrc.json` 提交到版本控制
|
|
333
|
+
2. **文档说明** - 在 README 中说明配置要求
|
|
334
|
+
3. **配置检查** - 在 CI 中检查配置完整性
|
|
335
|
+
|
|
336
|
+
### 安全考虑
|
|
337
|
+
|
|
338
|
+
1. **API Key 保护** - 不要将 API key 提交到版本控制
|
|
339
|
+
2. **环境变量** - 使用环境变量存储敏感信息
|
|
340
|
+
3. **权限控制** - 限制配置文件的访问权限
|
|
341
|
+
|
|
342
|
+
### 配置维护
|
|
343
|
+
|
|
344
|
+
1. **定期更新** - 根据需求更新配置
|
|
345
|
+
2. **备份配置** - 备份重要的配置文件
|
|
346
|
+
3. **版本控制** - 跟踪配置文件的变更历史
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
# 命令参考
|
|
2
|
+
|
|
3
|
+
Git Workflow 提供了一套简洁而强大的命令,涵盖了 Git 工作流的各个方面。所有命令都支持交互式操作,让你无需记忆复杂的参数。
|
|
4
|
+
|
|
5
|
+
## 📋 命令概览
|
|
6
|
+
|
|
7
|
+
### 核心命令
|
|
8
|
+
|
|
9
|
+
| 命令 | 别名 | 功能 | 示例 |
|
|
10
|
+
| ------- | ----------------- | -------------------- | ----------------------- |
|
|
11
|
+
| `gw` | - | 显示交互式菜单 | `gw` |
|
|
12
|
+
| `gw f` | `feat`, `feature` | 创建 feature 分支 | `gw f --base develop` |
|
|
13
|
+
| `gw h` | `fix`, `hotfix` | 创建 hotfix 分支 | `gw h` |
|
|
14
|
+
| `gw c` | `cm`, `commit` | 提交代码(AI 模式) | `gw c` |
|
|
15
|
+
| `gw t` | `tag` | 创建 tag | `gw t v` |
|
|
16
|
+
| `gw d` | `del`, `delete` | 删除分支 | `gw d feature/old` |
|
|
17
|
+
| `gw s` | `st`, `stash` | 管理 stash | `gw s` |
|
|
18
|
+
|
|
19
|
+
### 辅助命令
|
|
20
|
+
|
|
21
|
+
| 命令 | 别名 | 功能 | 示例 |
|
|
22
|
+
| -------- | ------ | ------------------------ | --------- |
|
|
23
|
+
| `gw r` | `release` | 发布版本 | `gw r` |
|
|
24
|
+
| `gw ts` | `tags` | 列出 tags | `gw ts v` |
|
|
25
|
+
| `gw td` | `tag:delete` | 删除 tag | `gw td` |
|
|
26
|
+
| `gw tu` | `tag:update` | 修改 tag | `gw tu` |
|
|
27
|
+
| `gw init`| - | 初始化配置 | `gw init` |
|
|
28
|
+
| `gw upt` | `update` | 更新工具 | `gw upt` |
|
|
29
|
+
|
|
30
|
+
## 🎯 使用模式
|
|
31
|
+
|
|
32
|
+
Git Workflow 支持两种使用模式:
|
|
33
|
+
|
|
34
|
+
### 1. 交互式模式(推荐新手)
|
|
35
|
+
|
|
36
|
+
直接运行 `gw` 显示交互式菜单:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
gw
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
███████╗ ██╗███████╗██╗ ██╗
|
|
44
|
+
╚══███╔╝ ██║██╔════╝╚██╗██╔╝
|
|
45
|
+
███╔╝ ██║█████╗ ╚███╔╝
|
|
46
|
+
███╔╝ ██ ██║██╔══╝ ██╔██╗
|
|
47
|
+
███████╗╚█████╔╝███████╗██╔╝ ██╗
|
|
48
|
+
╚══════╝ ╚════╝ ╚══════╝╚═╝ ╚═╝
|
|
49
|
+
|
|
50
|
+
git-workflow v0.2.24
|
|
51
|
+
|
|
52
|
+
? 选择操作:
|
|
53
|
+
[1] ✨ 创建 feature 分支 gw f
|
|
54
|
+
[2] 🐛 创建 hotfix 分支 gw h
|
|
55
|
+
[3] 🗑️ 删除分支 gw d
|
|
56
|
+
[4] 📝 提交代码 gw c
|
|
57
|
+
[5] 🏷️ 创建 tag gw t
|
|
58
|
+
[6] 🗑️ 删除 tag gw td
|
|
59
|
+
[7] ✏️ 修改 tag gw tu
|
|
60
|
+
[8] 📋 列出 tags gw ts
|
|
61
|
+
[9] 📦 发布版本 gw r
|
|
62
|
+
[a] 💾 管理 stash gw s
|
|
63
|
+
[b] ⚙️ 初始化配置 gw init
|
|
64
|
+
[0] ❓ 帮助
|
|
65
|
+
[q] 退出
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**特点:**
|
|
69
|
+
- 🎨 优雅的 ASCII Art Logo
|
|
70
|
+
- 📋 清晰的操作菜单
|
|
71
|
+
- 🎯 键盘快捷操作
|
|
72
|
+
- 🔍 实时搜索和过滤
|
|
73
|
+
|
|
74
|
+
### 2. 命令行模式(推荐熟练用户)
|
|
75
|
+
|
|
76
|
+
直接使用具体命令:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# 创建 feature 分支
|
|
80
|
+
gw f
|
|
81
|
+
|
|
82
|
+
# 提交代码
|
|
83
|
+
gw c
|
|
84
|
+
|
|
85
|
+
# 创建 tag
|
|
86
|
+
gw t
|
|
87
|
+
|
|
88
|
+
# 删除分支
|
|
89
|
+
gw d
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**特点:**
|
|
93
|
+
- ⚡️ 快速执行
|
|
94
|
+
- 🤖 支持脚本化
|
|
95
|
+
- 📝 支持参数传递
|
|
96
|
+
- 🔄 适合 CI/CD 集成
|
|
97
|
+
|
|
98
|
+
## 🎨 界面特性
|
|
99
|
+
|
|
100
|
+
### 颜色编码
|
|
101
|
+
|
|
102
|
+
Git Workflow 使用颜色来区分不同类型的信息:
|
|
103
|
+
|
|
104
|
+
- 🟢 **绿色** - 成功信息、分支名、确认操作
|
|
105
|
+
- 🟡 **黄色** - 警告信息、版本号、重要提示
|
|
106
|
+
- 🔴 **红色** - 错误信息、危险操作
|
|
107
|
+
- 🔵 **蓝色** - 链接、命令、可点击内容
|
|
108
|
+
- ⚪ **灰色** - 辅助信息、时间戳、次要内容
|
|
109
|
+
|
|
110
|
+
### 图标系统
|
|
111
|
+
|
|
112
|
+
每个功能都有对应的图标,提高可识别性:
|
|
113
|
+
|
|
114
|
+
- ✨ **feature** - 新功能开发
|
|
115
|
+
- 🐛 **hotfix** - 紧急修复
|
|
116
|
+
- 🏷️ **tag** - 版本标签
|
|
117
|
+
- 📝 **commit** - 代码提交
|
|
118
|
+
- 💾 **stash** - 代码暂存
|
|
119
|
+
- 🗑️ **delete** - 删除操作
|
|
120
|
+
- ⚙️ **config** - 配置管理
|
|
121
|
+
- 🔄 **update** - 更新操作
|
|
122
|
+
|
|
123
|
+
### 键盘操作
|
|
124
|
+
|
|
125
|
+
所有交互界面都支持键盘操作:
|
|
126
|
+
|
|
127
|
+
| 按键 | 功能 |
|
|
128
|
+
| ---------- | ------------------------ |
|
|
129
|
+
| ↑/↓ | 上下选择选项 |
|
|
130
|
+
| ←/→ | 左右切换(多选模式) |
|
|
131
|
+
| 空格 | 选择/取消选择(多选模式) |
|
|
132
|
+
| 回车 | 确认选择 |
|
|
133
|
+
| Ctrl+C | 优雅退出 |
|
|
134
|
+
| Tab | 自动补全(输入模式) |
|
|
135
|
+
| Esc | 取消当前操作 |
|
|
136
|
+
|
|
137
|
+
## 🔧 全局选项
|
|
138
|
+
|
|
139
|
+
所有命令都支持以下全局选项:
|
|
140
|
+
|
|
141
|
+
### 版本信息
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
gw --version
|
|
145
|
+
gw -v
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
显示当前版本号。
|
|
149
|
+
|
|
150
|
+
### 帮助信息
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
gw --help
|
|
154
|
+
gw -h
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
显示帮助信息和可用命令列表。
|
|
158
|
+
|
|
159
|
+
### 调试模式
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
DEBUG=gw:* gw c
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
启用详细日志,用于问题排查。
|
|
166
|
+
|
|
167
|
+
## 🎯 命令分类
|
|
168
|
+
|
|
169
|
+
### 分支管理
|
|
170
|
+
|
|
171
|
+
专注于分支的创建、删除和管理:
|
|
172
|
+
|
|
173
|
+
- [**gw f**](/commands/branch#创建-feature-分支) - 创建 feature 分支
|
|
174
|
+
- [**gw h**](/commands/branch#创建-hotfix-分支) - 创建 hotfix 分支
|
|
175
|
+
- [**gw d**](/commands/branch#删除分支) - 删除本地/远程分支
|
|
176
|
+
|
|
177
|
+
### 提交管理
|
|
178
|
+
|
|
179
|
+
处理代码提交和提交信息:
|
|
180
|
+
|
|
181
|
+
- [**gw c**](/commands/commit) - 交互式提交(支持 AI 生成)
|
|
182
|
+
|
|
183
|
+
### 版本管理
|
|
184
|
+
|
|
185
|
+
管理项目版本和标签:
|
|
186
|
+
|
|
187
|
+
- [**gw t**](/commands/tag#创建-tag) - 创建版本标签
|
|
188
|
+
- [**gw ts**](/commands/tag#列出-tags) - 列出所有标签
|
|
189
|
+
- [**gw td**](/commands/tag#删除-tag) - 删除标签
|
|
190
|
+
- [**gw tu**](/commands/tag#修改-tag) - 修改标签
|
|
191
|
+
- [**gw r**](/commands/release) - 发布新版本
|
|
192
|
+
|
|
193
|
+
### 代码暂存
|
|
194
|
+
|
|
195
|
+
管理 Git stash:
|
|
196
|
+
|
|
197
|
+
- [**gw s**](/commands/stash) - 可视化管理 stash
|
|
198
|
+
|
|
199
|
+
### 工具管理
|
|
200
|
+
|
|
201
|
+
配置和维护工具本身:
|
|
202
|
+
|
|
203
|
+
- [**gw init**](/commands/config) - 初始化配置
|
|
204
|
+
- [**gw upt**](/commands/update) - 更新工具
|
|
205
|
+
- [**gw clean**](/commands/update#清理缓存) - 清理缓存
|
|
206
|
+
|
|
207
|
+
## 🚀 快速参考
|
|
208
|
+
|
|
209
|
+
### 日常开发流程
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# 1. 创建功能分支
|
|
213
|
+
gw f
|
|
214
|
+
# 输入: PROJ-123, add-login-feature
|
|
215
|
+
|
|
216
|
+
# 2. 开发代码...
|
|
217
|
+
|
|
218
|
+
# 3. 提交代码(AI 模式)
|
|
219
|
+
gw c
|
|
220
|
+
# AI 自动生成: ✨ feat(auth): 添加用户登录功能
|
|
221
|
+
|
|
222
|
+
# 4. 创建版本标签
|
|
223
|
+
gw t
|
|
224
|
+
# 选择: patch → v1.2.1
|
|
225
|
+
|
|
226
|
+
# 5. 清理旧分支
|
|
227
|
+
gw d
|
|
228
|
+
# 选择要删除的分支
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### 紧急修复流程
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# 1. 创建 hotfix 分支
|
|
235
|
+
gw h
|
|
236
|
+
# 输入: BUG-456, fix-login-crash
|
|
237
|
+
|
|
238
|
+
# 2. 修复代码...
|
|
239
|
+
|
|
240
|
+
# 3. 提交修复
|
|
241
|
+
gw c
|
|
242
|
+
# AI 生成: 🐛 fix(auth): 修复登录页面崩溃问题
|
|
243
|
+
|
|
244
|
+
# 4. 创建补丁版本
|
|
245
|
+
gw t
|
|
246
|
+
# 选择: patch → v1.2.2
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 版本发布流程
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# 1. 更新版本号
|
|
253
|
+
gw r
|
|
254
|
+
# 选择: minor → 1.3.0
|
|
255
|
+
|
|
256
|
+
# 2. 创建发布标签
|
|
257
|
+
gw t
|
|
258
|
+
# 选择: v1.3.0
|
|
259
|
+
|
|
260
|
+
# 3. 清理功能分支
|
|
261
|
+
gw d
|
|
262
|
+
# 批量删除已合并的分支
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## 📚 深入学习
|
|
266
|
+
|
|
267
|
+
每个命令都有详细的使用指南:
|
|
268
|
+
|
|
269
|
+
- [**交互式菜单**](/commands/interactive) - 了解主菜单的所有功能
|
|
270
|
+
- [**分支命令**](/commands/branch) - 掌握分支管理的最佳实践
|
|
271
|
+
- [**Tag 命令**](/commands/tag) - 学习版本标签的高级用法
|
|
272
|
+
- [**提交命令**](/commands/commit) - 深入了解 AI 提交和手动提交
|
|
273
|
+
- [**Stash 命令**](/commands/stash) - 高效管理代码暂存
|
|
274
|
+
- [**版本命令**](/commands/release) - 自动化版本发布流程
|
|
275
|
+
- [**配置命令**](/commands/config) - 自定义工具行为
|
|
276
|
+
- [**更新命令**](/commands/update) - 保持工具最新状态
|
|
277
|
+
|
|
278
|
+
## 🔍 命令查找
|
|
279
|
+
|
|
280
|
+
不确定使用哪个命令?可以通过以下方式快速找到:
|
|
281
|
+
|
|
282
|
+
### 按功能查找
|
|
283
|
+
|
|
284
|
+
- **我想创建分支** → `gw f` (feature) 或 `gw h` (hotfix)
|
|
285
|
+
- **我想提交代码** → `gw c` (commit)
|
|
286
|
+
- **我想创建版本** → `gw t` (tag) 或 `gw r` (release)
|
|
287
|
+
- **我想删除分支** → `gw d` (delete)
|
|
288
|
+
- **我想管理 stash** → `gw s` (stash)
|
|
289
|
+
- **我想配置工具** → `gw init`
|
|
290
|
+
- **我想更新工具** → `gw upt`
|
|
291
|
+
|
|
292
|
+
### 按场景查找
|
|
293
|
+
|
|
294
|
+
- **开始新功能** → `gw f`
|
|
295
|
+
- **修复紧急 Bug** → `gw h`
|
|
296
|
+
- **提交当前更改** → `gw c`
|
|
297
|
+
- **发布新版本** → `gw r` + `gw t`
|
|
298
|
+
- **清理旧分支** → `gw d`
|
|
299
|
+
- **暂存当前工作** → `gw s`
|
|
300
|
+
|
|
301
|
+
### 交互式查找
|
|
302
|
+
|
|
303
|
+
如果不确定,直接运行 `gw` 查看所有可用选项:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
gw
|
|
307
|
+
# 浏览菜单,选择需要的功能
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
掌握这些命令后,你就能高效地管理 Git 工作流了。每个命令都经过精心设计,旨在简化复杂的 Git 操作,让你专注于代码开发。
|