Como posso reverter vários commits do Git (já enviados) para um repositório publicado?

Novo para git e já está bagunçando.

Eu tenho comprometido e empurrado algumas alterações para uma máquina de desenvolvimento remoto. Eu preciso recuperar uma versão mais antiga, mas manter o "progresso ruim" até o momento para continuar trabalhando em uma ramificação separada;

Eu estava pensando em fazer assim:

Crie um ramo local named: "coisa testada"Reverter repositório local para o estado em que trabalhou(esperançosamente confirmações significativas irão ajudar);

Empurre para o controle remoto

termine testes em coisa testada

Mesclar "coisa testada"em devEmpurre para o controle remoto

Entre os passos 3 e 5, outros desenvolvedores podem cometer e empurrar, e temo que isso possa resultar em uma "tragédia de mesclagem" - De qualquer forma, esse pode ser um caminho adequado?

ATUALIZAR:

O principal problema aqui reside em 2)

Aqui, no tópico: "quebrando o trabalho em um ramo de tópico"http://learn.github.com/p/undoing.html

Eles sugerem:

$ git branch test$ git reset - difícil a6b4c974

Ao fazer isso, outros desenvolvedores ainda poderiam:

$ git commit (no ramo dev)

e eu possocheckout para testar e trabalhe atéfundir Tempo.

Apesar de todas as suas opções, parece ser uma boa abordagem a seguir. No entanto, não é afirmado se isso pode ser feito depois de termos pressionado?

Por favor observe o seguinte:Desde que eu fiz essas mudanças e eu estraguei tudo,ninguém mais trabalhou no repositório até agora. Então, se eu reverter o diretório de trabalho, ninguém notará.

questionAnswers(3)

yourAnswerToTheQuestion