@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,522 @@
|
|
|
1
|
+
# 基础用法
|
|
2
|
+
|
|
3
|
+
本指南介绍 Git Workflow 的基础用法,帮助你快速掌握日常开发中最常用的功能。
|
|
4
|
+
|
|
5
|
+
## 🎯 核心工作流程
|
|
6
|
+
|
|
7
|
+
Git Workflow 的核心理念是简化 Git 操作,让你专注于代码开发。基本工作流程如下:
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
graph LR
|
|
11
|
+
A[创建分支] --> B[开发代码]
|
|
12
|
+
B --> C[提交代码]
|
|
13
|
+
C --> D[创建标签]
|
|
14
|
+
D --> E[清理分支]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 📋 交互式菜单
|
|
18
|
+
|
|
19
|
+
### 启动主菜单
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
gw
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
你会看到优雅的主菜单:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
███████╗ ██╗███████╗██╗ ██╗
|
|
29
|
+
╚══███╔╝ ██║██╔════╝╚██╗██╔╝
|
|
30
|
+
███╔╝ ██║█████╗ ╚███╔╝
|
|
31
|
+
███╔╝ ██ ██║██╔══╝ ██╔██╗
|
|
32
|
+
███████╗╚█████╔╝███████╗██╔╝ ██╗
|
|
33
|
+
╚══════╝ ╚════╝ ╚══════╝╚═╝ ╚═╝
|
|
34
|
+
|
|
35
|
+
git-workflow v0.2.24
|
|
36
|
+
|
|
37
|
+
? 选择操作:
|
|
38
|
+
[1] ✨ 创建 feature 分支 gw f
|
|
39
|
+
[2] 🐛 创建 hotfix 分支 gw h
|
|
40
|
+
[3] 🗑️ 删除分支 gw d
|
|
41
|
+
[4] 📝 提交代码 gw c
|
|
42
|
+
[5] 🏷️ 创建 tag gw t
|
|
43
|
+
[6] 🗑️ 删除 tag gw td
|
|
44
|
+
[7] ✏️ 修改 tag gw tu
|
|
45
|
+
[8] 📋 列出 tags gw ts
|
|
46
|
+
[9] 📦 发布版本 gw r
|
|
47
|
+
[a] 💾 管理 stash gw s
|
|
48
|
+
[b] ⚙️ 初始化配置 gw init
|
|
49
|
+
[0] ❓ 帮助
|
|
50
|
+
[q] 退出
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 菜单操作
|
|
54
|
+
|
|
55
|
+
- **数字键** - 选择对应功能
|
|
56
|
+
- **字母键** - 选择对应功能(a, b)
|
|
57
|
+
- **方向键** - 上下移动选择
|
|
58
|
+
- **回车键** - 确认选择
|
|
59
|
+
- **q 键** - 退出程序
|
|
60
|
+
- **Ctrl+C** - 优雅退出
|
|
61
|
+
|
|
62
|
+
## 🌿 分支管理基础
|
|
63
|
+
|
|
64
|
+
### 创建 Feature 分支
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
gw f
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**交互流程:**
|
|
71
|
+
```bash
|
|
72
|
+
? 请输入 Story ID (可跳过): PROJ-123
|
|
73
|
+
? 请输入描述: add-user-profile
|
|
74
|
+
✔ 分支创建成功: feature/20260111-PROJ-123-add-user-profile
|
|
75
|
+
? 是否推送到远程? 是
|
|
76
|
+
✔ 已推送到远程
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**生成的分支名格式:**
|
|
80
|
+
```
|
|
81
|
+
feature/YYYYMMDD-[ID-]description
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 创建 Hotfix 分支
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
gw h
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
用于紧急修复生产环境问题:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
? 请输入 Issue ID (可跳过): BUG-456
|
|
94
|
+
? 请输入描述: fix-login-crash
|
|
95
|
+
✔ 分支创建成功: hotfix/20260111-BUG-456-fix-login-crash
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 删除分支
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
gw d
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**智能分支列表:**
|
|
105
|
+
```bash
|
|
106
|
+
? 选择要删除的分支:
|
|
107
|
+
❯ feature/20260105-old-feature (本地+远程) 3 days ago
|
|
108
|
+
feature/20260103-test (仅本地) 5 days ago
|
|
109
|
+
取消
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
- 按最近使用时间排序
|
|
113
|
+
- 显示本地/远程状态
|
|
114
|
+
- 自动检测并删除远程分支
|
|
115
|
+
|
|
116
|
+
## 📝 代码提交基础
|
|
117
|
+
|
|
118
|
+
### AI 智能提交(推荐)
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
gw c
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**AI 模式流程:**
|
|
125
|
+
```bash
|
|
126
|
+
已暂存的文件:
|
|
127
|
+
src/auth.ts
|
|
128
|
+
src/login.ts
|
|
129
|
+
────────────────────────────────────────
|
|
130
|
+
? 选择 commit 方式:
|
|
131
|
+
❯ 🤖 AI 自动生成 commit message
|
|
132
|
+
✍️ 手动编写 commit message
|
|
133
|
+
|
|
134
|
+
✔ AI 生成完成
|
|
135
|
+
|
|
136
|
+
AI 生成的 commit message:
|
|
137
|
+
✨ feat(auth): 添加用户登录功能
|
|
138
|
+
────────────────────────────────────────
|
|
139
|
+
? 使用这个 commit message?
|
|
140
|
+
❯ ✅ 使用
|
|
141
|
+
❌ 不使用,切换到手动模式
|
|
142
|
+
|
|
143
|
+
✔ 提交成功
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### 手动提交模式
|
|
147
|
+
|
|
148
|
+
如果选择手动模式或 AI 不可用:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
? 选择提交类型:
|
|
152
|
+
❯ ✨ feat 新功能
|
|
153
|
+
🐛 fix 修复 Bug
|
|
154
|
+
📝 docs 文档更新
|
|
155
|
+
💄 style 代码格式
|
|
156
|
+
♻️ refactor 重构
|
|
157
|
+
⚡️ perf 性能优化
|
|
158
|
+
✅ test 测试相关
|
|
159
|
+
📦 build 构建相关
|
|
160
|
+
👷 ci CI/CD 相关
|
|
161
|
+
🔧 chore 其他杂项
|
|
162
|
+
⏪ revert 回退提交
|
|
163
|
+
|
|
164
|
+
? 输入影响范围 scope (可跳过): auth
|
|
165
|
+
? 输入简短描述: add login validation
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 文件暂存处理
|
|
169
|
+
|
|
170
|
+
**自动暂存模式(默认):**
|
|
171
|
+
```bash
|
|
172
|
+
gw c
|
|
173
|
+
没有暂存的更改
|
|
174
|
+
────────────────────────────────────────
|
|
175
|
+
未暂存的文件:
|
|
176
|
+
M src/index.ts
|
|
177
|
+
M src/utils.ts
|
|
178
|
+
────────────────────────────────────────
|
|
179
|
+
✔ 已自动暂存所有更改
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**手动选择模式:**
|
|
183
|
+
```bash
|
|
184
|
+
? 选择要暂存的文件: (使用空格选择)
|
|
185
|
+
❯ ◉ M src/index.ts
|
|
186
|
+
◉ M src/utils.ts
|
|
187
|
+
◯ ?? src/new-file.ts
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## 🏷️ 版本标签基础
|
|
191
|
+
|
|
192
|
+
### 创建版本标签
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
gw t
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**智能版本检测:**
|
|
199
|
+
```bash
|
|
200
|
+
? 选择 tag 前缀: v (最新: v1.2.0)
|
|
201
|
+
? 选择版本类型:
|
|
202
|
+
❯ patch → v1.2.1
|
|
203
|
+
minor → v1.3.0
|
|
204
|
+
major → v2.0.0
|
|
205
|
+
alpha → v1.2.1-alpha.1
|
|
206
|
+
beta → v1.2.1-beta.1
|
|
207
|
+
rc → v1.2.1-rc.1
|
|
208
|
+
|
|
209
|
+
✔ Tag 创建成功: v1.2.1
|
|
210
|
+
✔ Tag 已推送: v1.2.1
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### 版本类型说明
|
|
214
|
+
|
|
215
|
+
| 类型 | 说明 | 示例变化 |
|
|
216
|
+
| ------- | ------------------------ | --------------- |
|
|
217
|
+
| patch | 修复 Bug,向下兼容 | 1.2.0 → 1.2.1 |
|
|
218
|
+
| minor | 新功能,向下兼容 | 1.2.0 → 1.3.0 |
|
|
219
|
+
| major | 破坏性变更,不向下兼容 | 1.2.0 → 2.0.0 |
|
|
220
|
+
| alpha | 内测版本 | 1.2.1-alpha.1 |
|
|
221
|
+
| beta | 公测版本 | 1.2.1-beta.1 |
|
|
222
|
+
| rc | 候选发布版本 | 1.2.1-rc.1 |
|
|
223
|
+
|
|
224
|
+
### 列出现有标签
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
gw ts
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**按前缀过滤:**
|
|
231
|
+
```bash
|
|
232
|
+
gw ts v # 只显示 v 开头的标签
|
|
233
|
+
gw ts release # 只显示 release 开头的标签
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 删除标签
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
gw td
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**安全删除流程:**
|
|
243
|
+
```bash
|
|
244
|
+
? 选择要删除的 tag:
|
|
245
|
+
❯ v1.2.0 (2 days ago)
|
|
246
|
+
v1.1.0 (1 week ago)
|
|
247
|
+
|
|
248
|
+
? 确认删除 tag v1.2.0?
|
|
249
|
+
❯ 是,删除本地和远程
|
|
250
|
+
仅删除本地
|
|
251
|
+
取消
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## 💾 Stash 管理基础
|
|
255
|
+
|
|
256
|
+
### 查看和管理 Stash
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
gw s
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**可视化 Stash 列表:**
|
|
263
|
+
```bash
|
|
264
|
+
共 3 个 stash:
|
|
265
|
+
|
|
266
|
+
? 选择 stash:
|
|
267
|
+
❯ [0] main fix login bug (3 文件) 2 hours ago
|
|
268
|
+
[1] develop add feature (5 文件) 1 day ago
|
|
269
|
+
[2] main WIP (1 文件) 3 days ago
|
|
270
|
+
+ 创建新 stash
|
|
271
|
+
取消
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### Stash 操作
|
|
275
|
+
|
|
276
|
+
选择 stash 后可以进行以下操作:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
? 操作:
|
|
280
|
+
❯ 应用 (保留 stash)
|
|
281
|
+
弹出 (应用并删除)
|
|
282
|
+
创建分支
|
|
283
|
+
查看差异
|
|
284
|
+
删除
|
|
285
|
+
返回列表
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### 创建新 Stash
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
gw s
|
|
292
|
+
# 选择 "+ 创建新 stash"
|
|
293
|
+
|
|
294
|
+
? 检测到未跟踪的文件,是否一并 stash?
|
|
295
|
+
❯ 是 (包含未跟踪文件)
|
|
296
|
+
否 (仅已跟踪文件)
|
|
297
|
+
|
|
298
|
+
? Stash 消息 (可跳过): 临时保存登录功能开发进度
|
|
299
|
+
|
|
300
|
+
✔ Stash 创建成功
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## 📦 版本发布基础
|
|
304
|
+
|
|
305
|
+
### 更新 package.json 版本
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
gw r
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**版本选择:**
|
|
312
|
+
```bash
|
|
313
|
+
当前版本: 0.2.24
|
|
314
|
+
? 选择新版本:
|
|
315
|
+
❯ patch → 0.2.25
|
|
316
|
+
minor → 0.3.0
|
|
317
|
+
major → 1.0.0
|
|
318
|
+
alpha → 0.2.25-alpha.1
|
|
319
|
+
beta → 0.2.25-beta.1
|
|
320
|
+
rc → 0.2.25-rc.1
|
|
321
|
+
|
|
322
|
+
✔ 版本号已更新: 0.2.24 → 0.2.25
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
## ⚙️ 基础配置
|
|
326
|
+
|
|
327
|
+
### 初始化配置
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
gw init
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**配置选择:**
|
|
334
|
+
```bash
|
|
335
|
+
? 选择配置范围:
|
|
336
|
+
❯ 全局配置(所有项目生效)
|
|
337
|
+
项目配置(仅当前项目)
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### 常用配置项
|
|
341
|
+
|
|
342
|
+
**全局配置示例:**
|
|
343
|
+
```json
|
|
344
|
+
{
|
|
345
|
+
"autoStage": true,
|
|
346
|
+
"useEmoji": true,
|
|
347
|
+
"aiCommit": {
|
|
348
|
+
"enabled": true,
|
|
349
|
+
"provider": "github",
|
|
350
|
+
"language": "zh-CN"
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**项目配置示例:**
|
|
356
|
+
```json
|
|
357
|
+
{
|
|
358
|
+
"requireId": true,
|
|
359
|
+
"featureIdLabel": "Story ID",
|
|
360
|
+
"autoPush": true,
|
|
361
|
+
"baseBranch": "develop"
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## 🔄 工具更新
|
|
366
|
+
|
|
367
|
+
### 检查和更新
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
gw upt
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**更新流程:**
|
|
374
|
+
```bash
|
|
375
|
+
🔍 检查更新...
|
|
376
|
+
|
|
377
|
+
🎉 发现新版本!
|
|
378
|
+
0.2.24 → 0.2.25
|
|
379
|
+
|
|
380
|
+
✔ 更新成功!
|
|
381
|
+
请重新打开终端使用新版本
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
## 🎯 日常开发示例
|
|
385
|
+
|
|
386
|
+
### 完整的功能开发流程
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
# 1. 创建功能分支
|
|
390
|
+
gw f
|
|
391
|
+
# 输入: PROJ-123, add-user-dashboard
|
|
392
|
+
|
|
393
|
+
# 2. 开发代码...
|
|
394
|
+
# 修改文件,添加功能
|
|
395
|
+
|
|
396
|
+
# 3. 提交代码
|
|
397
|
+
gw c
|
|
398
|
+
# AI 生成: ✨ feat(dashboard): 添加用户仪表板功能
|
|
399
|
+
|
|
400
|
+
# 4. 继续开发和提交...
|
|
401
|
+
gw c
|
|
402
|
+
# AI 生成: 🐛 fix(dashboard): 修复数据加载问题
|
|
403
|
+
|
|
404
|
+
# 5. 功能完成,创建版本标签
|
|
405
|
+
gw t
|
|
406
|
+
# 选择: minor → v1.3.0
|
|
407
|
+
|
|
408
|
+
# 6. 合并到主分支后,清理功能分支
|
|
409
|
+
gw d
|
|
410
|
+
# 选择并删除已合并的功能分支
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### 紧急修复流程
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
# 1. 创建 hotfix 分支
|
|
417
|
+
gw h
|
|
418
|
+
# 输入: BUG-456, fix-payment-error
|
|
419
|
+
|
|
420
|
+
# 2. 修复问题
|
|
421
|
+
# 修改相关文件
|
|
422
|
+
|
|
423
|
+
# 3. 提交修复
|
|
424
|
+
gw c
|
|
425
|
+
# AI 生成: 🐛 fix(payment): 修复支付金额计算错误
|
|
426
|
+
|
|
427
|
+
# 4. 创建补丁版本
|
|
428
|
+
gw t
|
|
429
|
+
# 选择: patch → v1.2.1
|
|
430
|
+
|
|
431
|
+
# 5. 合并到主分支和开发分支后,删除 hotfix 分支
|
|
432
|
+
gw d
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
## 🎨 界面特性
|
|
436
|
+
|
|
437
|
+
### 颜色编码
|
|
438
|
+
|
|
439
|
+
- 🟢 **绿色** - 成功信息、分支名
|
|
440
|
+
- 🟡 **黄色** - 警告信息、版本号
|
|
441
|
+
- 🔴 **红色** - 错误信息
|
|
442
|
+
- 🔵 **蓝色** - 链接、命令
|
|
443
|
+
- ⚪ **灰色** - 辅助信息、时间
|
|
444
|
+
|
|
445
|
+
### 键盘操作
|
|
446
|
+
|
|
447
|
+
| 按键 | 功能 |
|
|
448
|
+
| ---------- | ------------------------ |
|
|
449
|
+
| ↑/↓ | 上下选择选项 |
|
|
450
|
+
| 空格 | 选择/取消选择(多选模式) |
|
|
451
|
+
| 回车 | 确认选择 |
|
|
452
|
+
| Ctrl+C | 优雅退出 |
|
|
453
|
+
| q | 退出(在主菜单中) |
|
|
454
|
+
|
|
455
|
+
### 搜索和过滤
|
|
456
|
+
|
|
457
|
+
在长列表中可以输入关键词快速过滤:
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
? 选择要删除的分支: (输入关键词过滤)
|
|
461
|
+
❯ feature/20260105-login
|
|
462
|
+
feature/20260103-dashboard
|
|
463
|
+
hotfix/20260101-payment
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
## 🔍 快速参考
|
|
467
|
+
|
|
468
|
+
### 常用命令速查
|
|
469
|
+
|
|
470
|
+
| 命令 | 功能 | 示例 |
|
|
471
|
+
| ------- | -------------------- | ----------------------- |
|
|
472
|
+
| `gw` | 显示交互式菜单 | `gw` |
|
|
473
|
+
| `gw f` | 创建 feature 分支 | `gw f --base develop` |
|
|
474
|
+
| `gw h` | 创建 hotfix 分支 | `gw h` |
|
|
475
|
+
| `gw c` | 提交代码(AI 模式) | `gw c` |
|
|
476
|
+
| `gw t` | 创建 tag | `gw t v` |
|
|
477
|
+
| `gw d` | 删除分支 | `gw d` |
|
|
478
|
+
| `gw s` | 管理 stash | `gw s` |
|
|
479
|
+
| `gw r` | 发布版本 | `gw r` |
|
|
480
|
+
| `gw ts` | 列出 tags | `gw ts v` |
|
|
481
|
+
| `gw td` | 删除 tag | `gw td` |
|
|
482
|
+
| `gw upt`| 更新工具 | `gw upt` |
|
|
483
|
+
|
|
484
|
+
### 分支命名规范
|
|
485
|
+
|
|
486
|
+
```
|
|
487
|
+
feature/YYYYMMDD-[ID-]description
|
|
488
|
+
hotfix/YYYYMMDD-[ID-]description
|
|
489
|
+
|
|
490
|
+
示例:
|
|
491
|
+
feature/20260111-PROJ-123-add-user-login
|
|
492
|
+
hotfix/20260111-BUG-456-fix-payment-error
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
### 提交信息格式
|
|
496
|
+
|
|
497
|
+
```
|
|
498
|
+
<emoji> <type>[optional scope]: <description>
|
|
499
|
+
|
|
500
|
+
[optional body]
|
|
501
|
+
|
|
502
|
+
[optional footer(s)]
|
|
503
|
+
|
|
504
|
+
示例:
|
|
505
|
+
✨ feat(auth): 添加用户登录功能
|
|
506
|
+
🐛 fix(payment): 修复支付计算错误
|
|
507
|
+
📝 docs: 更新 API 使用说明
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
## 📚 下一步
|
|
511
|
+
|
|
512
|
+
掌握了基础用法后,你可以继续学习:
|
|
513
|
+
|
|
514
|
+
- [**AI 智能提交**](/guide/ai-commit) - 深入了解 AI commit 功能
|
|
515
|
+
- [**分支管理**](/guide/branch-management) - 高级分支管理技巧
|
|
516
|
+
- [**Tag 管理**](/guide/tag-management) - 版本标签的高级用法
|
|
517
|
+
- [**配置文件**](/config/) - 自定义工具行为
|
|
518
|
+
- [**最佳实践**](/guide/best-practices) - 学习高效的工作流程
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
通过这些基础用法,你已经可以高效地管理 Git 工作流了。Git Workflow 的设计理念是简化复杂操作,让你专注于代码开发而不是 Git 命令。
|