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 remotoEntre 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 a6b4c974Ao 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á.