From a0727115f5c16bc80b423d2e009a33e03910d27f Mon Sep 17 00:00:00 2001 From: barry Date: Mon, 10 Aug 2026 22:18:10 +0800 Subject: [PATCH] fix(commit): stage untracked files with git add -A Default commit path used git add --update, which silently skipped new files. Co-authored-by: Cursor --- cmds/fastcommitcmd/ai.go | 4 +++- docs/features.md | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cmds/fastcommitcmd/ai.go b/cmds/fastcommitcmd/ai.go index df5dd10..20c20f4 100644 --- a/cmds/fastcommitcmd/ai.go +++ b/cmds/fastcommitcmd/ai.go @@ -127,8 +127,10 @@ func runAICommit(ctx context.Context, flags *flagOptions) error { } } + // Stage tracked modifications/deletions and new untracked files (respects .gitignore). + // Previously used `git add --update`, which silently skipped new files. if utils.IsDirty().Unwrap() { - assert.Must(utils.ShellExec(ctx, "git", "add", "--update")) + assert.Must(utils.ShellExec(ctx, "git", "add", "-A")) } diffResult := utils.GetStagedDiff(ctx).Unwrap() diff --git a/docs/features.md b/docs/features.md index 91569a4..6ca32c0 100644 --- a/docs/features.md +++ b/docs/features.md @@ -53,6 +53,7 @@ - 默认限制提交信息风格与长度 - 支持 `--amend`、`--fast`、`--candidates`、`--single`、`--skip-check`、`--skip-policy`、`--override-policy` - 默认三选一(`~/.config/fastgit/config.yaml` 中 `commit.candidates_default: true`;`.fastgit/commit.yaml` 可覆盖) +- 提交前自动 `git add -A`(含新建未跟踪文件;仍尊重 `.gitignore`) - 提交前默认运行 `check run --staged-only`(可用 `--skip-check` 跳过) - `.fastgit/policy.yaml` 中 `enforce: true` 时,分支名/commit message 违规将阻断提交 - 读取 `.fastgit/commit.yaml`(locale、max_length、require_scope)