Às vezes você entra em uma situação – e esta é uma zona sem julgamento, todos nós já estivemos lá – onde você mescla filiais e você estraga e precisa desfazer a fusão porque, bem, porque seus colegas de trabalho estão meio loucos você quebrou o projeto.
Vamos dizer que aconteceu. Como você reverte uma mescla?
Nós temos um my_feature_branch
que eu tenho trabalhado. Nós também temos uma develop
filial que eu mesclar e implantar para o meu servidor de teste / teste.
git checkout develop
git merge my_feature_branch
Meu fusão de my_feature_branch
em develop
rompeu o site. Eu preciso me poupar de mais vergonha na frente da minha equipe, então vamos desfazer a fusão develop
.
Como a mesclagem é uma confirmação que aponta o HEAD para uma confirmação específica, podemos desfazer a consolidação de mesclagem e reverter para o estado de pré-mesclagem.
Para reverter o commit anterior (nosso commit merge), nós fazemos:
git revert HEAD
Também podemos especificar a confirmação de mesclagem exata que desejamos reverter usando o mesmo revert
comando, mas com algumas opções adicionais.
git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
Especificamos a mesclagem usando o hash SHA1 da consolidação de mesclagem. O -m
seguido pelo 1
indica que queremos manter o lado pai da mesclagem (o ramo em que estamos mesclando).
O resultado dessa reversão é que o Git criará um novo commit que reverte as mudanças da fusão.
Somos salvos do constrangimento! O projeto está funcionando novamente. Agora voltemos ao trabalho para descobrir por que essa fusão quebrou o commit.
Reference: https://mijingo.com/blog/reverting-a-git-merge