Skip to content
plribeiro3000 edited this page Sep 23, 2014 · 1 revision

No desenvolvimento/discussão em um pull request é comum fazer commits extras para acertar detalhes de implementação, mudar a lógica de negócio ou até para melhorar os testes.

Quando o código está pronto para ser mergeado é interessante fazer no minímo o squash desses commits e gerar apenas um, para facilitar levantamento/estudo das razões que o desenvolver usou alguma gem/pattern para resolver certo problema e assim identificar soluções para problemas futuros gerados por decisões tomadas atualmente.

Uma vez que a branch esta X commits a frente da master é necessário desfazer esses commits com o seguinte comando:

git reset HEAD~X --soft

Esse comando vai deixar todas as modificações referentes a todos os commits esperando apenas para um novo commit ser gerado:

git commit -m "Awesome feature developed"

E por último é necessário enviar o novo commit para a branch remota. O truque nessa parte é forçar o git remote a reescrever a árvore de commits:

git push origin nome_da_branch --force