No meu repositório git, fiz 5 confirmações, como abaixo no meu log do git:
commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael
Date: Fri Feb 4 15:26:38 2011 -0800
commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date: Mon Jan 31 10:37:42 2011 -0800
commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Date: Wed Jan 26 13:33:17 2011 -0800
commit 4771e26619b9acba3f059b491c6c6d70115e696c
Author: Michael
Date: Wed Jan 26 11:16:51 2011 -0800
commit 6e559cb951b9bfa14243b925c1972a1bd2586d59
Author: Michael
Date: Fri Jan 21 11:42:27 2011 -0800
Como reverter meus 4 commits anteriores localmente em uma ramificação? Em outras palavras, como posso criar uma ramificação sem minhas 4 confirmações mais recentes (suponha que eu tenha o SHA dessa confirmação do git log)?
<commit_hash>
estiver no ramo diferente, que está à frente?git checkout master
, juntamente com um ou dois casos extremos que podem se aplicar a determinadas situações.Se você quiser jogar fora as quatro confirmações mais recentes, use:
Como alternativa, você pode especificar o hash de uma confirmação para a qual deseja redefinir:
fonte
git reflog
e redefinir de volta para ela - mas seria jogá-los fora, sim.Basta fazer o checkout do commit do qual você deseja que seu novo ramo comece e criar um novo ramo
fonte