How to commit only one piece of a file in Git?

5

When modifying multiple parts of a file, is it possible to commit only one piece (for example, a new function)?

    
asked by anonymous 11.02.2015 / 21:30

1 answer

5

Use git add --patch <nome_do_arquivo> (or git add -p <nome_do_arquivo> ). In this way, git will allow the user to interactively define which part of the code will be added to the commit. Then, type one of the following commands:

y - aplicar 'stage' ao bloco
n - ignorar bloco
q - sair; ignorar este e todos outros blocos
a - aplicar 'stage' neste bloco e em todos os próximos
d - ignorar bloco atual e todos os que estão a frente
g - ir até um bloco
/ - buscar por um bloco dada uma expressão regular
j - deixar bloco como não resolvido, ir para próximo bloco não resolvido
J - deixar bloco como não resolvido, ir para próximo bloco
k - deixar bloco como não resolvido, ir para bloco não resolvido anterior
K - deixar bloco como não resolvido, ir para bloco anterior
s - dividir bloco em partes menores
e - editar bloco manualmente
? - imprimir ajuda

If the file is not in the repository, use the command git add -N <nome_do_arquivo> .

To check the changes, use the command git diff --staged .

Note: Inspired in this answer of Stack Overflow in English.

    
11.02.2015 / 21:30