Maison > outils de développement > git > le corps du texte

Comment revenir lorsque git merge échoue

WBOY
Libérer: 2023-05-17 09:43:37
original
3596 Les gens l'ont consulté

Git est actuellement l'un des systèmes de contrôle de version les plus populaires. Bien qu'il puisse nous aider à mieux gérer le code, nous pouvons parfois rencontrer des problèmes de fusion, tels que des échecs de fusion. Si la fusion Git échoue, comment devrions-nous revenir en arrière ? Cet article présentera plusieurs méthodes.

1. Fusion par écrasement forcé

Lors de la fusion de branches, si la méthode « conflit de fusion » est utilisée, mais que la fusion échoue, nous pouvons essayer de résoudre le problème par la méthode « fusion forcée ».

git merge --abort
git merge --strategy-option=theirs branch-to-merge
Copier après la connexion

Tout d'abord, nous utilisons la commande "git merge --abort" pour annuler l'opération de fusion précédente, puis utilisons la commande "git merge --strategy-option=theirs branch-to-merge" pour forcer la branche distante à être écrasé dans la succursale locale. Le risque avec cette solution de contournement est que la branche actuelle soit écrasée au lieu d'être fusionnée. Il convient donc de faire preuve de prudence lors de la confirmation de l'opération.

2. Rollback merge

Si nous fusionnons une branche et que nous sommes sûrs qu'elle est erronée, nous pouvons utiliser la commande "git reset" pour annuler l'opération de fusion.

git reset --hard HEAD^
git push -f origin master
Copier après la connexion

Cette commande sera réinitialisée à la version précédente en utilisant la version HEAD^ et écrasera la branche distante. Le risque avec cette solution de contournement est que si d'autres mises à jour ont été repoussées avant d'être annulées, nous perdrons ces mises à jour.

3. Activer la sauvegarde

Git fournit un mécanisme de sauvegarde via la commande "stash", qui peut conserver le contenu de l'espace de travail actuel tout en effectuant d'autres opérations. Si nous rencontrons un problème lors d'une opération de fusion, nous pouvons utiliser « stash » pour sauvegarder notre travail, puis restaurer la sauvegarde après avoir résolu le problème de fusion.

git stash
git merge branch-to-merge
git stash pop
Copier après la connexion

Cela utilisera la commande "stash" pour enregistrer les modifications apportées à la branche actuelle, effectuera l'opération de fusion, puis utilisera la commande "stash pop" pour restaurer la sauvegarde. L'avantage de cette solution de contournement est que même si une erreur se produit, le contenu de l'espace de travail est préservé.

4. Annulez le commit

Si nous avons soumis la mauvaise fusion au référentiel, nous pouvons utiliser la commande "git revert" pour annuler le commit.

git revert -m 1 HEAD
Copier après la connexion

Cette commande annulera le commit précédent en utilisant le message de commit de HEAD, en utilisant l'option "-m 1" pour indiquer que nous voulons revenir au commit parent de la fusion. L'avantage de cette solution de contournement est que même si nous poussons d'autres mises à jour après la rétractation, notre précédente validation erronée sera toujours conservée dans l'historique.

En bref, lorsque la fusion Git échoue, vous pouvez utiliser la méthode ci-dessus pour la restaurer et la réparer. Pour chaque méthode, nous devons choisir celle qui convient le mieux en fonction de nos besoins personnels et faire preuve de prudence en sauvegardant les données importantes avant de continuer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal