-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Description
Descrição do problema
Ao executar a CLI para gerar mensagens de commit com base apenas nos arquivos que já estão staged, o comando acaba forçando a adição de todos os arquivos modificados / não rastreados no repositório.
Caso esse comportamento seja intencional ou configurável via flag/opção, não encontrei essa informação na documentação.
Comportamento esperado
- Utilizar somente os arquivos já staged (ex: via git diff --cached)
- Gerar a mensagem de commit sem modificar o staging area
Comportamento atual
- Ao rodar a CLI, todos os arquivos do repositório são adicionados ao staging
- Arquivos que o usuário optou por não incluir acabam entrando no commit
- O estado do Git é alterado de forma inesperada
Passos para reproduzir
- Modifique múltiplos arquivos no repositório
touch arquivo-a.ts arquivo-b.ts- Adicione ao staging apenas alguns deles:
git add arquivo-a.ts- Execute a CLI e depois aborte o commit selecionando a opção [A]:
git-commit-ai- Verifique o status do Git:
git statusNotas de debug (podem ajudar)
Analisei o código e encontrei um possível ponto causador do problema:
arquivo: src/cli.ts
linha: 540
// Don't stage files if amending
if (!options.amend) {
addFiles(".");
}ao realizar um commit trivial (sem fazer amend), o comportamento descrito ocorre.
Metadata
Metadata
Assignees
Labels
No labels