feat(commit,tag): 推送环节感知远程配置并支持多远程选择推送

- 仓库未配置任何远程时跳过推送询问并打印说明(--push 显式指定同样跳过)
- --remote 指定的目标不存在时回退到第一个可用远程(字母序)并明确提示
- 新增 --select-remote:多远程仓库弹出多选列表依次推送,失败即中止并汇总已推送/未尝试
- 优先级链:--yes > --select-remote > --push
- commit/tag 推送段收敛为 commands::run_push_flow 共享流程
- GitRepo 新增 list_remotes/resolve_push_target,i18n 新文案覆盖 7 种语言
This commit is contained in:
2026-08-31 14:19:58 +08:00
parent b391bdabaf
commit fac96021fb
8 changed files with 939 additions and 41 deletions

View File

@@ -330,6 +330,7 @@ quicommit config reset --force
| `-y, --yes` | 仅跳过确认提示(生成行为不变) |
| `--push` | 提交后推送到远程 |
| `--remote` | 指定远程仓库默认origin |
| `--select-remote` | 多远程仓库时交互式选择推送目标(可多选) |
### tag命令选项
@@ -345,6 +346,7 @@ quicommit config reset --force
| `-f, --force` | 强制覆盖已存在的标签 |
| `-p, --push` | 推送到远程 |
| `-r, --remote` | 指定远程仓库默认origin |
| `--select-remote` | 多远程仓库时交互式选择推送目标(可多选) |
| `--dry-run` | 试运行 |
| `-t, --think` | 启用 LLM 思考/推理模式(覆盖配置) |
| `-y, --yes` | 仅跳过确认提示(生成行为不变) |