Commit de parte de um arquivo
Os blocos são casos diferentes, não um script único. Escolha o caso do seu repositório. Substitua branches, caminhos e VERIFIED_COMMIT antes de usar. Comandos de cancelamento só valem para sua operação ativa; não execute ambas as alternativas.
Resposta curta
Git cria o commit a partir do índice. Prepare apenas a correção e deixe as outras edições no diretório de trabalho para formar commits separados.
Exemplo e condições
O exemplo contém uma correção e uma impressão de depuração no mesmo arquivo. Elas precisam aparecer como mudanças de texto distintas para revisão.
Inspecione antes de alterar
Compare git diff e git diff --cached. O primeiro mostra alterações não preparadas; o segundo mostra exatamente o conteúdo do próximo commit.
git status --short
git diff
git diff --cachedMantenha referência ou checkout separado
Preparar uma mudança não apaga a edição restante. O índice e o diretório de trabalho são estados separados que você pode inspecionar.
Primeiro fluxo
No FluxGit, abra o diff e use Stage change na correção. Confira o painel de commit: a impressão de depuração deve continuar não preparada.
Escolha o outro resultado deliberadamente
No terminal, git add -p permite aceitar ou rejeitar hunks. As opções s e e dividem um hunk ou editam seu patch quando apropriado.
git add -p -- app.py
git diff --cachedLimites e exceções
A menor unidade do FluxGit é uma mudança dentro de um hunk. Uma mudança de seis linhas é preparada inteira; não são intervalos arbitrários selecionados com o mouse.
Conflitos e limpeza
Despreparar mantém o arquivo; descartar altera seu conteúdo. O FluxGit captura uma imagem de segurança antes do descarte parcial; são ações diferentes.
Confira o resultado
Leia git diff --cached antes de confirmar e git show depois. Confira também git diff para verificar que o trabalho pendente continua no arquivo.
git show --stat HEAD
git diff
git status --shortPerguntas frequentes
Para um commit comum e privado, git reset --soft HEAD^ pode devolver o conteúdo ao índice. Confira o estado e coordene antes de reescrever histórico compartilhado.
Revise a operação no FluxGit
Commit Studio mantém diff e mensagem juntos. Revise o conteúdo enquanto escreve e crie commits com uma intenção clara.
Referências oficiais do Git
Commit de parte de um arquivo no Git: prepare só a correção
Corrigiu um bug e deixou um print de depuração no mesmo arquivo? Prepare somente a correção. Veja como o Git usa a área de preparação, como selecionar uma mudança no FluxGit e como fazer isso com git add -p.
Assistir no YouTube — abre uma nova aba
Gravado em um repositório de teste.
Ler a transcrição da narração
- Você corrigiu um bug e deixou um print de depuração no mesmo arquivo. Quer um commit limpo: a correção, sem o print.
- Este é o arquivo no FluxGit: app.py, com duas mudanças.
- É por isso que funciona. O Git não faz commit da sua pasta, mas da área de preparação. As duas mudanças começam somente no disco. Stage change coloca apenas a correção na área de preparação. O commit leva exatamente isso, e o print fica no disco, sem commit.
- Abra o arquivo. O diff mostra as duas mudanças, cada uma com seu próprio botão Stage change.
- Clique em Stage change na correção. Só essa mudança é preparada; o print fica onde está.
- De volta ao painel de commit: a correção está preparada, o print não.
- Escreva a mensagem e faça o commit.
- O novo commit contém a correção, e só ela. O print continua no disco, sem commit.
- Mudou de ideia? Desfazer retira o commit. A correção volta à área de preparação, e os arquivos não mudam.
- No terminal, o equivalente é git add -p. O Git pergunta sobre cada mudança: responda sim para a correção e não para o print, depois faça o commit.
- Resumo: prepare mudanças, não arquivos inteiros. Uma ideia por commit. Use Desfazer se errar. Próxima aula: corrigir o último commit.