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

@@ -336,6 +336,7 @@ quicommit config reset --force
| `-y, --yes` | Skip confirmation prompts only (generation behavior unchanged) |
| `--push` | Push after committing |
| `--remote` | Specify remote repository (default: origin) |
| `--select-remote` | Interactively select push target(s) when the repo has multiple remotes |
### Tag Options
@@ -351,6 +352,7 @@ quicommit config reset --force
| `-f, --force` | Force overwrite existing tag |
| `-p, --push` | Push to remote |
| `-r, --remote` | Specify remote repository (default: origin) |
| `--select-remote` | Interactively select push target(s) when the repo has multiple remotes |
| `--dry-run` | Dry run |
| `-t, --think` | Enable LLM thinking/reasoning mode (overrides config) |
| `-y, --yes` | Skip confirmation prompts only (generation behavior unchanged) |