- Clique com o botão direito do mouse no commit que você deseja redefinir (não no que você deseja excluir!)
- Selecione "Redefinir mestre para este commit"
- Selecione "Soft" redefinir.
Uma reinicialização suave manterá as alterações locais.
Fonte: https://answers.atlassian.com/questions/153791/how-should-i-remove-push-commit-from-sourcetree
Editar
Sobre git revert
: Este comando cria um novo commit que irá desfazer outros commit. Por exemplo, se você tem um commit que adiciona um novo arquivo, git revert
poderia ser usado para fazer um commit que excluirá o novo arquivo.
Sobre a aplicação de uma reinicialização suave: Suponha que você tenha confirmações A
em E
( A---B---C---D---E
) e gostaria de excluir a última confirmação ( E
). Em seguida, você pode fazer uma redefinição suave para confirmar D
. Com uma reinicialização suave, a confirmação E
será excluída do git, mas as alterações locais serão mantidas. Existem mais exemplos na documentação do git reset .