Esses dias, navegando no X, me deparei com a seguinte imagem
E achei engraçado, porque eu e você provavelmente já nos vimos nessa situação: adicionamos os arquivos e ficamos literalmente travados pensando o que colocar de mensagem no commit. Muitas vezes os arquivos são em pastas e contextos diferentes, o que dificulta ainda mais a pensar em uma mensagem condizente.
E é aí que mora o problema: Quando commitamos todos os arquivos com o famoso git add .
fica muito difícil resumir em uma frase o que foi feito naquele commit.
E você no fundo sabe que uma hora ou outra vai voltar para aquele commit específico para ver o que foi mudado, como estava antes, alterar uma coisa ou outra e vai ficar perdido com a quantidade de arquivos e a procura vai ser árdua(por isso é importante ter commits frequentes).
O que é git add -p
?
Eu uso um comando de git muito bom para quando mexo em vários arquivos ao mesmo tempo e que possuem contextos diferentes, como por exemplo testes X e configuração de um banco de dados Y.
git add -p
É uma forma encurtada do comando git add --patch
. O que ele faz é pegar o diff dos arquivos modificados e deletados, com isso você consegue verificar o que mudou, onde e como. Como diz na doc do git "Ele te dá a oportunidade de revisar o conteúdo modificado antes de adicioná-lo"
E assim, logo após mostrar o diff ele apresenta as opções que aí você seleciona de acordo com o que pretende fazer :)
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
p - print the current hunk
? - print help
Depois de escolher os arquivos de um mesmo contexto(sabendo o que foi modificado em cada um) fica muito mais fácil executar o git commit -m ""
com uma mensagem legal, legível e curta que vai ajudar todo mundo a entender o que foi modificado ali no futuro para inclusive resolver futuros bugs.
Por fim...
Espero que isto te ajude igual tem me ajudado diariamente a ser mais claro e preciso nos meus commits, e, claro, diminuir o tempo encarando o monitor pensando em uma boa mensagem que talvez nunca venha.
Top comments (2)
Muito bom, super util e aparentemente simples 👍
Bem simples e eficaz, gosto muito de usar