交互式变基
交互式变基允许您通过修改单个提交来重写提交历史。在 提交日志 面板中按 i 打开操作选择器。
访问交互式变基
- 按
3聚焦 提交日志 面板。 - 按
i打开 交互式变基 操作弹窗。
备注
i 仅在 提交日志 面板中至少存在一个提交时可用。
可用操作
| 操作 | 说明 |
|---|---|
| Drop | 从历史记录中完全删除所选提交 |
| Reword | 编辑所选提交的提交消息 |
| Fixup/Squash | 将两个或更多所选提交合并到最旧的所选提交中 |
键位绑定
操作选择弹窗
| 键 | 操作 |
|---|---|
↑ 或 k | 向上导航 |
↓ 或 j | 向下导航 |
enter | 确认所选操作 |
esc | 取消 |
Reword / Fixup/Squash 提交输入
| 键 | 操作 |
|---|---|
ctrl+e | 提交 |
tab | 下一字段 |
shift+tab | 上一字段 |
ctrl+p | 粘贴 |
ctrl+y | 复制 |
esc | 取消 |
工作流程
丢弃提交
- 在 提交日志 面板中导航到目标提交。
- 按
i。 - 选择 Drop 并按
enter。 - 显示确认输出弹窗,展示操作结果。
注意
Drop 会将提交从历史记录中永久删除。这会重写历史——请勿对已推送到共享远程的提交使用此操作。
修改提交消息
- 导航到目标提交。
- 按
i。 - 选择 Reword 并按
enter。 - 显示提交选择器弹窗,确认目标提交后按
enter。 - 打开预填现有提交消息的输入弹窗。
- 编辑 摘要 及可选的 描述。
- 按
ctrl+e提交。
Fixup/Squash 提交
将两个或更多所选提交合并为一个提交。所有所选提交都会被合并到最旧的所选提交中,该提交作为基底。
- 在 提交日志 面板中按
i。 - 选择 Fixup/Squash 并按
enter。 - 显示提交选择器弹窗。从列表中选择至少 2 个提交。
- 按
enter确认。所有所选提交将合并到最旧的所选提交中。 - 打开输入弹窗以编辑合并后的提交消息,按
ctrl+e提交。
信息
最旧的所选提交作为基底——所有其他所选提交都会合并到其中。必须至少选择 2 个提交。
注意
任何比最旧所选提交更新的合并提交(merge commit)都将在操作过程中自动被删除。