When modifying multiple parts of a file, is it possible to commit only one piece (for example, a new function)?
When modifying multiple parts of a file, is it possible to commit only one piece (for example, a new function)?
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.