@zjex/git-workflow 0.3.9 → 0.4.0
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/README.md +1 -1
- package/TEST_COVERAGE_SUMMARY.md +264 -0
- package/dist/index.js +160 -11
- package/docs/commands/branch.md +33 -12
- package/docs/commands/index.md +38 -33
- package/docs/commands/tag.md +71 -15
- package/docs/commands/update.md +79 -3
- package/package.json +1 -1
- package/src/ai-service.ts +66 -33
- package/src/commands/tag.ts +120 -0
- package/src/index.ts +97 -16
- package/src/update-notifier.ts +1 -1
- package/tests/clean.test.ts +293 -0
- package/tests/commands.test.ts +409 -0
- package/tests/tag.test.ts +236 -0
- package/tests/update-notifier.test.ts +52 -0
- package/tests/COVERAGE_REPORT.md +0 -222
- package/tests/QUICK_START.md +0 -242
- package/tests/TEST_SUMMARY.md +0 -330
package/docs/commands/branch.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
| ------------------------------ | ----------------- | ----------------- |
|
|
9
9
|
| `gw feature [--base <branch>]` | `gw feat`, `gw f` | 创建 feature 分支 |
|
|
10
10
|
| `gw hotfix [--base <branch>]` | `gw fix`, `gw h` | 创建 hotfix 分支 |
|
|
11
|
-
| `gw
|
|
11
|
+
| `gw br:del [branch]` | `gw brd` | 删除本地/远程分支 |
|
|
12
12
|
|
|
13
13
|
## ✨ 创建 Feature 分支
|
|
14
14
|
|
|
@@ -55,11 +55,13 @@ gw f --base release/1.0
|
|
|
55
55
|
### 分支命名规范
|
|
56
56
|
|
|
57
57
|
**生成格式:**
|
|
58
|
+
|
|
58
59
|
```
|
|
59
60
|
feature/YYYYMMDD-[ID-]description
|
|
60
61
|
```
|
|
61
62
|
|
|
62
63
|
**示例:**
|
|
64
|
+
|
|
63
65
|
```bash
|
|
64
66
|
# 有 ID 的情况
|
|
65
67
|
feature/20260111-PROJ-123-add-user-login
|
|
@@ -69,6 +71,7 @@ feature/20260111-add-user-login
|
|
|
69
71
|
```
|
|
70
72
|
|
|
71
73
|
**命名优势:**
|
|
74
|
+
|
|
72
75
|
- 📅 **时间排序** - 按创建日期自然排序
|
|
73
76
|
- 🔍 **易于搜索** - 可以按日期或 ID 快速查找
|
|
74
77
|
- 📋 **可追溯性** - 每个分支都能追溯到具体需求
|
|
@@ -90,6 +93,7 @@ gw f
|
|
|
90
93
|
```
|
|
91
94
|
|
|
92
95
|
选择"是"后:
|
|
96
|
+
|
|
93
97
|
```bash
|
|
94
98
|
✔ 更改已暂存到 stash
|
|
95
99
|
✔ 分支创建成功: feature/20260111-PROJ-123-add-login
|
|
@@ -121,12 +125,14 @@ gw h
|
|
|
121
125
|
### Hotfix 特点
|
|
122
126
|
|
|
123
127
|
**与 Feature 分支的区别:**
|
|
128
|
+
|
|
124
129
|
- 🚨 **紧急性** - 用于紧急修复生产环境问题
|
|
125
130
|
- 🎯 **基础分支** - 通常基于 `main` 分支创建
|
|
126
131
|
- 🔄 **合并策略** - 需要同时合并到 `main` 和 `develop`
|
|
127
132
|
- 📝 **ID 标签** - 默认提示 "Issue ID" 而不是 "Story ID"
|
|
128
133
|
|
|
129
134
|
**典型使用场景:**
|
|
135
|
+
|
|
130
136
|
- 生产环境 Bug 修复
|
|
131
137
|
- 安全漏洞修复
|
|
132
138
|
- 关键功能故障修复
|
|
@@ -137,16 +143,15 @@ gw h
|
|
|
137
143
|
### 基本用法
|
|
138
144
|
|
|
139
145
|
```bash
|
|
140
|
-
gw
|
|
146
|
+
gw brd
|
|
141
147
|
# 或
|
|
142
|
-
gw
|
|
143
|
-
gw del
|
|
148
|
+
gw br:del
|
|
144
149
|
```
|
|
145
150
|
|
|
146
151
|
### 交互式选择
|
|
147
152
|
|
|
148
153
|
```bash
|
|
149
|
-
gw
|
|
154
|
+
gw brd
|
|
150
155
|
? 选择要删除的分支:
|
|
151
156
|
❯ feature/20260105-PROJ-100-old-feature (本地+远程) 3 days ago
|
|
152
157
|
feature/20260103-test-branch (仅本地) 5 days ago
|
|
@@ -155,6 +160,7 @@ gw d
|
|
|
155
160
|
```
|
|
156
161
|
|
|
157
162
|
**分支信息说明:**
|
|
163
|
+
|
|
158
164
|
- **分支名** - 完整的分支名称
|
|
159
165
|
- **状态** - 显示是否存在远程分支
|
|
160
166
|
- **时间** - 最后提交时间,按最近使用排序
|
|
@@ -187,7 +193,7 @@ gw d
|
|
|
187
193
|
|
|
188
194
|
```bash
|
|
189
195
|
# 直接删除指定分支
|
|
190
|
-
gw
|
|
196
|
+
gw brd feature/old-branch
|
|
191
197
|
|
|
192
198
|
# 系统会自动检测并询问是否删除远程分支
|
|
193
199
|
```
|
|
@@ -197,7 +203,7 @@ gw d feature/old-branch
|
|
|
197
203
|
虽然不支持多选,但可以连续删除:
|
|
198
204
|
|
|
199
205
|
```bash
|
|
200
|
-
gw
|
|
206
|
+
gw brd
|
|
201
207
|
# 删除第一个分支后,会自动返回分支列表
|
|
202
208
|
# 可以继续选择删除其他分支
|
|
203
209
|
```
|
|
@@ -205,12 +211,14 @@ gw d
|
|
|
205
211
|
### 安全保护
|
|
206
212
|
|
|
207
213
|
**保护机制:**
|
|
214
|
+
|
|
208
215
|
- 🛡️ **当前分支保护** - 不能删除当前所在的分支
|
|
209
216
|
- 🛡️ **主分支保护** - 不会显示 main/master/develop 等主分支
|
|
210
217
|
- 🛡️ **确认机制** - 删除前需要明确确认
|
|
211
218
|
- 🛡️ **状态检查** - 显示分支的本地/远程状态
|
|
212
219
|
|
|
213
220
|
**错误处理:**
|
|
221
|
+
|
|
214
222
|
```bash
|
|
215
223
|
❌ 无法删除分支: 当前正在使用此分支
|
|
216
224
|
❌ 远程分支删除失败: 权限不足
|
|
@@ -229,6 +237,7 @@ gw d
|
|
|
229
237
|
```
|
|
230
238
|
|
|
231
239
|
**自定义前缀示例:**
|
|
240
|
+
|
|
232
241
|
```json
|
|
233
242
|
{
|
|
234
243
|
"featurePrefix": "feat",
|
|
@@ -237,6 +246,7 @@ gw d
|
|
|
237
246
|
```
|
|
238
247
|
|
|
239
248
|
生成的分支名:
|
|
249
|
+
|
|
240
250
|
```
|
|
241
251
|
feat/20260111-PROJ-123-add-login
|
|
242
252
|
fix/20260111-BUG-456-fix-crash
|
|
@@ -253,6 +263,7 @@ fix/20260111-BUG-456-fix-crash
|
|
|
253
263
|
```
|
|
254
264
|
|
|
255
265
|
**强制要求 ID:**
|
|
266
|
+
|
|
256
267
|
```json
|
|
257
268
|
{
|
|
258
269
|
"requireId": true
|
|
@@ -262,6 +273,7 @@ fix/20260111-BUG-456-fix-crash
|
|
|
262
273
|
设置后,创建分支时必须填写 ID,不能跳过。
|
|
263
274
|
|
|
264
275
|
**自定义 ID 标签:**
|
|
276
|
+
|
|
265
277
|
```json
|
|
266
278
|
{
|
|
267
279
|
"featureIdLabel": "Jira ID",
|
|
@@ -288,6 +300,7 @@ fix/20260111-BUG-456-fix-crash
|
|
|
288
300
|
```
|
|
289
301
|
|
|
290
302
|
**配置选项:**
|
|
303
|
+
|
|
291
304
|
- `true` - 创建分支后自动推送,不询问
|
|
292
305
|
- `false` - 创建分支后不推送,不询问
|
|
293
306
|
- 不设置 - 每次创建分支时询问(默认行为)
|
|
@@ -330,7 +343,7 @@ gw c
|
|
|
330
343
|
# 4. 合并到 main 和 develop
|
|
331
344
|
|
|
332
345
|
# 5. 删除 hotfix 分支
|
|
333
|
-
gw
|
|
346
|
+
gw brd
|
|
334
347
|
```
|
|
335
348
|
|
|
336
349
|
### 场景三:实验性功能
|
|
@@ -343,7 +356,7 @@ gw f
|
|
|
343
356
|
# 2. 实验开发...
|
|
344
357
|
|
|
345
358
|
# 3. 如果实验失败,直接删除分支
|
|
346
|
-
gw
|
|
359
|
+
gw brd
|
|
347
360
|
# 选择实验分支删除
|
|
348
361
|
```
|
|
349
362
|
|
|
@@ -361,7 +374,7 @@ git push origin feature/20260111-PROJ-123-add-feature
|
|
|
361
374
|
# 3. 创建 Pull Request 到 develop
|
|
362
375
|
|
|
363
376
|
# 4. 代码审查通过后,删除本地分支
|
|
364
|
-
gw
|
|
377
|
+
gw brd
|
|
365
378
|
```
|
|
366
379
|
|
|
367
380
|
## 🔧 高级技巧
|
|
@@ -388,7 +401,7 @@ gw f
|
|
|
388
401
|
|
|
389
402
|
```bash
|
|
390
403
|
# 使用 Git Workflow 逐个删除
|
|
391
|
-
gw
|
|
404
|
+
gw brd
|
|
392
405
|
|
|
393
406
|
# 或使用 Git 命令批量删除已合并分支
|
|
394
407
|
git branch --merged | grep -v "\*\|main\|develop" | xargs -n 1 git branch -d
|
|
@@ -409,6 +422,7 @@ git checkout -b recovered-branch <commit-hash>
|
|
|
409
422
|
### 问题一:分支名包含特殊字符
|
|
410
423
|
|
|
411
424
|
**问题:**
|
|
425
|
+
|
|
412
426
|
```bash
|
|
413
427
|
gw f
|
|
414
428
|
? 请输入描述: fix bug #123
|
|
@@ -416,6 +430,7 @@ gw f
|
|
|
416
430
|
```
|
|
417
431
|
|
|
418
432
|
**解决方案:**
|
|
433
|
+
|
|
419
434
|
- 避免使用 `#`, `@`, `空格` 等特殊字符
|
|
420
435
|
- 使用 `-` 或 `_` 连接单词
|
|
421
436
|
- 推荐格式:`fix-bug-123`
|
|
@@ -423,11 +438,13 @@ gw f
|
|
|
423
438
|
### 问题二:无法删除远程分支
|
|
424
439
|
|
|
425
440
|
**问题:**
|
|
441
|
+
|
|
426
442
|
```bash
|
|
427
443
|
❌ 远程分支删除失败: 权限不足
|
|
428
444
|
```
|
|
429
445
|
|
|
430
446
|
**解决方案:**
|
|
447
|
+
|
|
431
448
|
1. 检查是否有推送权限
|
|
432
449
|
2. 确认远程分支是否存在
|
|
433
450
|
3. 手动删除:`git push origin --delete branch-name`
|
|
@@ -435,11 +452,13 @@ gw f
|
|
|
435
452
|
### 问题三:基础分支不存在
|
|
436
453
|
|
|
437
454
|
**问题:**
|
|
455
|
+
|
|
438
456
|
```bash
|
|
439
457
|
❌ 基础分支 'develop' 不存在
|
|
440
458
|
```
|
|
441
459
|
|
|
442
460
|
**解决方案:**
|
|
461
|
+
|
|
443
462
|
1. 检查分支名是否正确
|
|
444
463
|
2. 拉取远程分支:`git fetch origin develop:develop`
|
|
445
464
|
3. 或使用其他基础分支:`gw f --base main`
|
|
@@ -447,11 +466,13 @@ gw f
|
|
|
447
466
|
### 问题四:分支已存在
|
|
448
467
|
|
|
449
468
|
**问题:**
|
|
469
|
+
|
|
450
470
|
```bash
|
|
451
471
|
❌ 分支 'feature/20260111-PROJ-123-add-login' 已存在
|
|
452
472
|
```
|
|
453
473
|
|
|
454
474
|
**解决方案:**
|
|
475
|
+
|
|
455
476
|
1. 使用不同的描述
|
|
456
477
|
2. 切换到现有分支:`git checkout feature/20260111-PROJ-123-add-login`
|
|
457
478
|
3. 或删除现有分支后重新创建
|
|
@@ -465,4 +486,4 @@ gw f
|
|
|
465
486
|
|
|
466
487
|
---
|
|
467
488
|
|
|
468
|
-
分支管理是 Git 工作流的基础,通过 Git Workflow 的分支命令,你可以轻松创建规范的分支名称,高效管理分支生命周期。
|
|
489
|
+
分支管理是 Git 工作流的基础,通过 Git Workflow 的分支命令,你可以轻松创建规范的分支名称,高效管理分支生命周期。
|
package/docs/commands/index.md
CHANGED
|
@@ -6,27 +6,29 @@ Git Workflow 提供了一套简洁而强大的命令,涵盖了 Git 工作流
|
|
|
6
6
|
|
|
7
7
|
### 核心命令
|
|
8
8
|
|
|
9
|
-
| 命令
|
|
10
|
-
|
|
|
11
|
-
| `gw`
|
|
12
|
-
| `gw f`
|
|
13
|
-
| `gw h`
|
|
14
|
-
| `gw c`
|
|
15
|
-
| `gw log
|
|
16
|
-
| `gw t`
|
|
17
|
-
| `gw
|
|
18
|
-
| `gw s`
|
|
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 log` | `ls`, `l` | 查看提交历史 | `gw log` |
|
|
16
|
+
| `gw t` | `tag` | 创建 tag | `gw t v` |
|
|
17
|
+
| `gw brd` | `br:del` | 删除分支 | `gw brd feature/old` |
|
|
18
|
+
| `gw s` | `st`, `stash` | 管理 stash | `gw s` |
|
|
19
19
|
|
|
20
20
|
### 辅助命令
|
|
21
21
|
|
|
22
|
-
| 命令
|
|
23
|
-
|
|
|
24
|
-
| `gw r`
|
|
25
|
-
| `gw ts`
|
|
26
|
-
| `gw td`
|
|
27
|
-
| `gw tu`
|
|
28
|
-
| `gw
|
|
29
|
-
| `gw
|
|
22
|
+
| 命令 | 别名 | 功能 | 示例 |
|
|
23
|
+
| --------- | ------------ | ------------------ | --------- |
|
|
24
|
+
| `gw r` | `release` | 发布版本 | `gw r` |
|
|
25
|
+
| `gw ts` | `tags` | 列出 tags | `gw ts v` |
|
|
26
|
+
| `gw td` | `tag:del` | 删除 tag | `gw td` |
|
|
27
|
+
| `gw tu` | `tag:update` | 修改 tag | `gw tu` |
|
|
28
|
+
| `gw tc` | `tag:clean` | 清理无效 tag | `gw tc` |
|
|
29
|
+
| `gw init` | - | 初始化配置 | `gw init` |
|
|
30
|
+
| `gw upt` | `update` | 更新工具 | `gw upt` |
|
|
31
|
+
| `gw cc` | `clean` | 清理缓存和临时文件 | `gw cc` |
|
|
30
32
|
|
|
31
33
|
## 🎯 使用模式
|
|
32
34
|
|
|
@@ -68,6 +70,7 @@ gw
|
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
**特点:**
|
|
73
|
+
|
|
71
74
|
- 🎨 优雅的 ASCII Art Logo
|
|
72
75
|
- 📋 清晰的操作菜单
|
|
73
76
|
- 🎯 键盘快捷操作
|
|
@@ -92,6 +95,7 @@ gw d
|
|
|
92
95
|
```
|
|
93
96
|
|
|
94
97
|
**特点:**
|
|
98
|
+
|
|
95
99
|
- ⚡️ 快速执行
|
|
96
100
|
- 🤖 支持脚本化
|
|
97
101
|
- 📝 支持参数传递
|
|
@@ -126,15 +130,15 @@ Git Workflow 使用颜色来区分不同类型的信息:
|
|
|
126
130
|
|
|
127
131
|
所有交互界面都支持键盘操作:
|
|
128
132
|
|
|
129
|
-
| 按键
|
|
130
|
-
|
|
|
131
|
-
| ↑/↓
|
|
132
|
-
| ←/→
|
|
133
|
-
| 空格
|
|
134
|
-
| 回车
|
|
135
|
-
| Ctrl+C
|
|
136
|
-
| Tab
|
|
137
|
-
| Esc
|
|
133
|
+
| 按键 | 功能 |
|
|
134
|
+
| ------ | ------------------------- |
|
|
135
|
+
| ↑/↓ | 上下选择选项 |
|
|
136
|
+
| ←/→ | 左右切换(多选模式) |
|
|
137
|
+
| 空格 | 选择/取消选择(多选模式) |
|
|
138
|
+
| 回车 | 确认选择 |
|
|
139
|
+
| Ctrl+C | 优雅退出 |
|
|
140
|
+
| Tab | 自动补全(输入模式) |
|
|
141
|
+
| Esc | 取消当前操作 |
|
|
138
142
|
|
|
139
143
|
## 🔧 全局选项
|
|
140
144
|
|
|
@@ -173,8 +177,8 @@ DEBUG=gw:* gw c
|
|
|
173
177
|
专注于分支的创建、删除和管理:
|
|
174
178
|
|
|
175
179
|
- [**gw f**](/commands/branch#创建-feature-分支) - 创建 feature 分支
|
|
176
|
-
- [**gw h**](/commands/branch#创建-hotfix-分支) - 创建 hotfix 分支
|
|
177
|
-
- [**gw
|
|
180
|
+
- [**gw h**](/commands/branch#创建-hotfix-分支) - 创建 hotfix 分支
|
|
181
|
+
- [**gw brd**](/commands/branch#删除分支) - 删除本地/远程分支
|
|
178
182
|
|
|
179
183
|
### 提交管理
|
|
180
184
|
|
|
@@ -191,6 +195,7 @@ DEBUG=gw:* gw c
|
|
|
191
195
|
- [**gw ts**](/commands/tag#列出-tags) - 列出所有标签
|
|
192
196
|
- [**gw td**](/commands/tag#删除-tag) - 删除标签
|
|
193
197
|
- [**gw tu**](/commands/tag#修改-tag) - 修改标签
|
|
198
|
+
- [**gw tc**](/commands/tag#清理无效-tag) - 清理无效标签
|
|
194
199
|
- [**gw r**](/commands/release) - 发布新版本
|
|
195
200
|
|
|
196
201
|
### 代码暂存
|
|
@@ -205,7 +210,7 @@ DEBUG=gw:* gw c
|
|
|
205
210
|
|
|
206
211
|
- [**gw init**](/commands/config) - 初始化配置
|
|
207
212
|
- [**gw upt**](/commands/update) - 更新工具
|
|
208
|
-
- [**gw
|
|
213
|
+
- [**gw cc**](/commands/update#清理缓存) - 清理缓存和临时文件
|
|
209
214
|
|
|
210
215
|
## 🚀 快速参考
|
|
211
216
|
|
|
@@ -290,7 +295,7 @@ gw d
|
|
|
290
295
|
- **我想提交代码** → `gw c` (commit)
|
|
291
296
|
- **我想查看历史** → `gw log` (log)
|
|
292
297
|
- **我想创建版本** → `gw t` (tag) 或 `gw r` (release)
|
|
293
|
-
- **我想删除分支** → `gw
|
|
298
|
+
- **我想删除分支** → `gw brd` (branch delete)
|
|
294
299
|
- **我想管理 stash** → `gw s` (stash)
|
|
295
300
|
- **我想配置工具** → `gw init`
|
|
296
301
|
- **我想更新工具** → `gw upt`
|
|
@@ -302,7 +307,7 @@ gw d
|
|
|
302
307
|
- **提交当前更改** → `gw c`
|
|
303
308
|
- **查看项目历史** → `gw log`
|
|
304
309
|
- **发布新版本** → `gw r` + `gw t`
|
|
305
|
-
- **清理旧分支** → `gw
|
|
310
|
+
- **清理旧分支** → `gw brd`
|
|
306
311
|
- **暂存当前工作** → `gw s`
|
|
307
312
|
|
|
308
313
|
### 交互式查找
|
|
@@ -316,4 +321,4 @@ gw
|
|
|
316
321
|
|
|
317
322
|
---
|
|
318
323
|
|
|
319
|
-
掌握这些命令后,你就能高效地管理 Git 工作流了。每个命令都经过精心设计,旨在简化复杂的 Git 操作,让你专注于代码开发。
|
|
324
|
+
掌握这些命令后,你就能高效地管理 Git 工作流了。每个命令都经过精心设计,旨在简化复杂的 Git 操作,让你专注于代码开发。
|
package/docs/commands/tag.md
CHANGED
|
@@ -4,12 +4,13 @@ Tag 管理相关的命令详解。
|
|
|
4
4
|
|
|
5
5
|
## 📋 命令列表
|
|
6
6
|
|
|
7
|
-
| 命令
|
|
8
|
-
|
|
9
|
-
| `gw tags [prefix]` | `gw ts` | 列出 tag
|
|
10
|
-
| `gw tag [prefix]`
|
|
11
|
-
| `gw tag:
|
|
12
|
-
| `gw tag:update`
|
|
7
|
+
| 命令 | 别名 | 说明 |
|
|
8
|
+
| ------------------ | ------- | ------------ |
|
|
9
|
+
| `gw tags [prefix]` | `gw ts` | 列出 tag |
|
|
10
|
+
| `gw tag [prefix]` | `gw t` | 创建 tag |
|
|
11
|
+
| `gw tag:del` | `gw td` | 删除 tag |
|
|
12
|
+
| `gw tag:update` | `gw tu` | 修改 tag |
|
|
13
|
+
| `gw tag:clean` | `gw tc` | 清理无效 tag |
|
|
13
14
|
|
|
14
15
|
## 📋 列出 Tag
|
|
15
16
|
|
|
@@ -32,7 +33,7 @@ $ gw ts
|
|
|
32
33
|
📋 所有 tags (按时间倒序):
|
|
33
34
|
|
|
34
35
|
v1.2.0 Release v1.2.0 2 days ago
|
|
35
|
-
v1.1.0 Release v1.1.0 1 week ago
|
|
36
|
+
v1.1.0 Release v1.1.0 1 week ago
|
|
36
37
|
v1.0.0 Initial release 2 weeks ago
|
|
37
38
|
|
|
38
39
|
共 3 个 tags
|
|
@@ -139,23 +140,78 @@ $ gw tu
|
|
|
139
140
|
✔ 已推送到远程
|
|
140
141
|
```
|
|
141
142
|
|
|
143
|
+
## 🧹 清理无效 Tag
|
|
144
|
+
|
|
145
|
+
### 基本用法
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
gw tag:clean
|
|
149
|
+
gw tc
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 什么是无效 Tag
|
|
153
|
+
|
|
154
|
+
无效 tag 是指那些不包含有效版本号的标签,通常是由于脚本错误或配置问题产生的,例如:
|
|
155
|
+
|
|
156
|
+
- `vnull` - 版本号为 null
|
|
157
|
+
- `vundefined` - 版本号为 undefined
|
|
158
|
+
- `v` - 空版本号
|
|
159
|
+
- 其他不符合版本规范的标签
|
|
160
|
+
|
|
161
|
+
### 清理流程
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
$ gw tc
|
|
165
|
+
🧹 清理无效 tag
|
|
166
|
+
|
|
167
|
+
检测到以下无效 tag:
|
|
168
|
+
|
|
169
|
+
vnull
|
|
170
|
+
提交: abc1234 (2 days ago)
|
|
171
|
+
作者: John Doe
|
|
172
|
+
消息: Release vnull
|
|
173
|
+
|
|
174
|
+
vundefined
|
|
175
|
+
提交: def5678 (1 week ago)
|
|
176
|
+
作者: Jane Smith
|
|
177
|
+
消息: Release vundefined
|
|
178
|
+
|
|
179
|
+
? 是否删除这些无效 tag?
|
|
180
|
+
❯ 是,删除本地和远程
|
|
181
|
+
取消
|
|
182
|
+
|
|
183
|
+
✔ 本地 tag 已删除: vnull
|
|
184
|
+
✔ 远程 tag 已删除: origin/vnull
|
|
185
|
+
✔ 本地 tag 已删除: vundefined
|
|
186
|
+
✔ 远程 tag 已删除: origin/vundefined
|
|
187
|
+
|
|
188
|
+
✔ 已清理 2 个无效 tag
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 安全性
|
|
192
|
+
|
|
193
|
+
- 只会删除明确不包含数字的标签
|
|
194
|
+
- 删除前会显示详细信息供确认
|
|
195
|
+
- 支持仅删除本地或同时删除远程
|
|
196
|
+
- 不会影响正常的版本标签
|
|
197
|
+
|
|
142
198
|
## 🔧 版本类型详解
|
|
143
199
|
|
|
144
200
|
### 标准版本
|
|
145
201
|
|
|
146
|
-
| 类型
|
|
147
|
-
|
|
202
|
+
| 类型 | 说明 | 示例 |
|
|
203
|
+
| ------- | ------------------ | ------------- |
|
|
148
204
|
| `patch` | 补丁版本,Bug 修复 | 1.0.0 → 1.0.1 |
|
|
149
|
-
| `minor` | 次版本,新功能
|
|
205
|
+
| `minor` | 次版本,新功能 | 1.0.0 → 1.1.0 |
|
|
150
206
|
| `major` | 主版本,破坏性变更 | 1.0.0 → 2.0.0 |
|
|
151
207
|
|
|
152
208
|
### 预发布版本
|
|
153
209
|
|
|
154
|
-
| 类型
|
|
155
|
-
|
|
210
|
+
| 类型 | 说明 | 示例 |
|
|
211
|
+
| ------- | ---------- | --------------------- |
|
|
156
212
|
| `alpha` | 内部测试版 | 1.0.0 → 1.0.1-alpha.1 |
|
|
157
|
-
| `beta`
|
|
158
|
-
| `rc`
|
|
213
|
+
| `beta` | 公开测试版 | 1.0.0 → 1.0.1-beta.1 |
|
|
214
|
+
| `rc` | 发布候选版 | 1.0.0 → 1.0.1-rc.1 |
|
|
159
215
|
|
|
160
216
|
### 预发布版本升级
|
|
161
217
|
|
|
@@ -275,4 +331,4 @@ gw tag
|
|
|
275
331
|
1.0.0-beta.2 → 修复反馈
|
|
276
332
|
1.0.0-rc.1 → 发布候选
|
|
277
333
|
1.0.0 → 正式发布
|
|
278
|
-
```
|
|
334
|
+
```
|
package/docs/commands/update.md
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
## 📋 命令概览
|
|
6
6
|
|
|
7
|
-
| 命令
|
|
8
|
-
|
|
7
|
+
| 命令 | 别名 | 说明 |
|
|
8
|
+
| ----------- | -------- | -------------------- |
|
|
9
9
|
| `gw update` | `gw upt` | 检查并更新到最新版本 |
|
|
10
|
+
| `gw clean` | `gw cc` | 清理缓存和临时文件 |
|
|
10
11
|
|
|
11
12
|
## 🔄 版本更新
|
|
12
13
|
|
|
@@ -344,4 +345,79 @@ diff ~/.gwrc.json.backup ~/.gwrc.json
|
|
|
344
345
|
# 监控版本状态
|
|
345
346
|
gw --version
|
|
346
347
|
gw update --check-only # 仅检查,不更新
|
|
347
|
-
```
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## 🧹 清理缓存
|
|
351
|
+
|
|
352
|
+
### 基本用法
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
gw clean
|
|
356
|
+
gw cc
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### 清理内容
|
|
360
|
+
|
|
361
|
+
工具会清理以下文件:
|
|
362
|
+
|
|
363
|
+
1. **更新缓存** - `~/.gw-update-check`
|
|
364
|
+
2. **全局配置** - `~/.gwrc.json` (可选)
|
|
365
|
+
3. **临时文件** - `/tmp/.gw-commit-msg-*`
|
|
366
|
+
|
|
367
|
+
### 清理流程
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
$ gw clean
|
|
371
|
+
? 检测到全局配置文件,是否删除?
|
|
372
|
+
❯ 否,保留配置文件
|
|
373
|
+
是,删除配置文件
|
|
374
|
+
|
|
375
|
+
✔ 已清理 3 个文件
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### 删除全局配置
|
|
379
|
+
|
|
380
|
+
如果选择删除全局配置文件:
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
$ gw clean
|
|
384
|
+
? 检测到全局配置文件,是否删除?
|
|
385
|
+
❯ 是,删除配置文件
|
|
386
|
+
|
|
387
|
+
✔ 已清理 5 个文件
|
|
388
|
+
|
|
389
|
+
⚠️ 全局配置文件已删除
|
|
390
|
+
如需重新配置,请运行: gw init
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### 使用场景
|
|
394
|
+
|
|
395
|
+
**定期清理:**
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
# 清理缓存,释放空间
|
|
399
|
+
gw clean
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
**重置配置:**
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
# 删除配置后重新初始化
|
|
406
|
+
gw clean # 选择删除配置
|
|
407
|
+
gw init # 重新配置
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**故障排除:**
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
# 清理缓存解决更新检查问题
|
|
414
|
+
gw clean
|
|
415
|
+
gw update
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### 安全性
|
|
419
|
+
|
|
420
|
+
- 删除全局配置前会询问确认
|
|
421
|
+
- 不会删除项目级配置文件
|
|
422
|
+
- 不会影响 Git 仓库数据
|
|
423
|
+
- 可以随时通过 `gw init` 重新配置
|