Cet article consiste à annuler une fusion git non suscitée.
Comment annuler / retourner une fusion dans Git qui n'a pas été poussée?
Pour annuler / retourner une fusion GIT non suscitée, différentes options peuvent être utilisées avec le «réinitialisation git»Commande, comme:
Méthode 1: Annuler une fusion git en utilisant la commande «Git Reset -Hard Head ~ 1”
Tout d'abord, consultez le commit de la fusion en vérifiant l'histoire de la validation:
$ Git Log --Oneline
Dans la capture d'écran ci-dessous, on peut voir que la tête pointe vers le dernier engagement de fusion:
Ensuite, exécutez la commande ci-dessous pour annuler la fusion git:
$ git réinitialisation - Tête dure ~ 1
Ici le "-dur«L'option est utilisée pour éliminer toutes les modifications de l'arbre en activité et le« «Tête ~ 1«L'option est utilisée pour annuler le dernier commit:
Ensuite, vérifiez les modifications en visualisant l'historique des validations:
$ Git Log --Oneline
On peut observer que la tête pointe maintenant vers le commit précédent, ce qui signifie que l'opération de fusion a été retournée:
Méthode 2: Annuler une fusion git en utilisant la commande «Git Reset -Merge Head ~ 1”
Tout d'abord, affichez l'historique de la validation à afficher la commission de la fusion:
$ Git Log --Oneline
Ensuite, annulez la fusion en exécutant la commande suivante:
$ git réinitialisation - mégation de la tête ~ 1
Enfin, consultez l'historique de la validation pour vérifier les changements:
$ Git Log --Oneline
Comme vous pouvez le voir, l'opération de fusion a été revenue avec succès:
Nous avons expliqué les méthodes pour annuler une fusion Git qui n'a pas encore été poussée.
Conclusion
Pour annuler une fusion git qui n'a pas encore été poussée, vous pouvez utiliser différentes options avec le «réinitialisation git«Commande, comme«-dur" ou "-fusionner«Options. Cependant, l'option «-hard» supprime les changements non engagés dans l'arbre de travail, et l'option «-merge» conserve les changements non engagés. Cet article a décrit la procédure pour annuler la fusion GIT qui n'a pas été poussée.