Eu desenvolvi duas soluções algorítmicas um pouco diferentes do método convencional para esses tipos de caso.
Resolver conflito ao dar push
Você tentou git push e recebeu erro porque o remoto está à frente.
- Atualizar referências do remoto
git fetch origin - Verificar estado atual
git statuspara identificar conflitos - Integrar mudanças do remoto
git merge origin/<branch> - Retirar as suas mudanças manualmente.
- Marcar como resolvido
git add . - Finalizar merge
git commit - Enviar para o remoto
git push origin <branch>
Commit errado no remoto
Alguém fez push com erro lógico (não é conflito, é código errado).
- Identificar o commit
git log - Reverter o commit
git revert <hash>(Para conseguir o hash, só pegar no log) - Enviar correção
git push origin <branch>
No meu caso, eu fiz assim porque as formas listadas de resolver o conflito não estavam funcionando na minha máquina; isso provavelmente está relacionado ao sistema operacional ou ao tipo de arquivo com o qual eu estava trabalhando.