Como usuário do Git, eu regularmente me deparo com a situação de que preciso retrabalhar um ou mais commits de uma forma que não se encaixe em --amend
ou rebase -i
com commits de correção. Normalmente, eu faria algo como
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
Eu levo mensagens de commit compostas sensatas muito a sério. Eles normalmente contêm um texto maior com referências e justificativas para a alteração. Até agora, eu estou bastante irritado sobre o longo processo para recuperar minha antiga mensagem de confirmação através de um indiferenciados git reflog
, git log
e copiar e colar processo.
Existe uma maneira melhor de lidar com isso? E como seria, se meu incluir mais de um commit?
Edit: Depois de pensar um pouco sobre isso, acho que o que estou procurando é alguma funcionalidade do tipo git stash para mensagens de commit onde corrigir / corrigir commits não são apropriados.
gitk
aberto. Dessa forma, você nem precisará usar o reflog. Como alternativa, use rev-parse <branch>
para obter seu hash antes da redefinição e use a resposta de ibizaman.
git reset head~1
, sua mensagem de commit antiga não seria apenas a segunda entrada noreflog
?