Accéder au contenu principal

Comment résoudre les conflits de fusion dans Git Tutorial

Apprenez diverses commandes et outils pour fusionner deux branches et résoudre les conflits dans Git, une compétence essentielle pour les scientifiques des données.
Actualisé 16 mars 2025  · 10 min de lecture

Qu'est-ce qu'un conflit de fusion Git ?

Le système de contrôle de version Git permet de travailler en équipe et de contribuer à des projets. Les développeurs travaillent généralement sur des branches isolées et, lorsqu'ils ont terminé, ils fusionnent les modifications avec la branche principale. Ce type de travail d'équipe est très productif et efficace dans la recherche de bogues. Parfois, plusieurs développeurs travaillent sur la même ligne de code et lorsqu'ils essaient de fusionner les modifications, des conflits apparaissent. 

Graphique des conflits de fusion Git
Exemple simple de conflit Git

Le diagramme ci-dessus illustre parfaitement le déroulement d'un conflit de fusion Git typique. La branche principale comporte un fichier contenant le texte "HELLO, WORLD !". Le nom d'utilisateur abid fait bifurquer la branche principale, et change le texte en "HELLO, CAT !". Pendant qu'abid effectue des changements, la branche principale originale est également modifiée en "HELLO, DOG !". La fusion de ces branches provoquera un conflit de fusion et interrompra le processus.  

La tâche principale de la commande git merge est de combiner deux branches et de résoudre automatiquement les conflits. Cependant, de temps à autre, des conflits apparaissent lorsque deux personnes ont modifié la même ligne de code ou supprimé des fichiers critiques sur lesquels un autre développeur travaillait. Git marquera ces changements et arrêtera le processus de fusion. Dans ce cas, le conflit n'a pas été résolu automatiquement ; le développeur doit apporter des modifications manuellement ou utiliser des outils pour résoudre le conflit.

Devenez ingénieur en données

Devenez un ingénieur de données grâce à l'apprentissage avancé de Python
Commencez à apprendre gratuitement

Fusionner les types

Git merge et rebase sont les deux façons d'intégrer les commits de la branche cible à la branche source. De plus, Git merge effectue soit une fusion avec avance rapide, soit une fusion sans avance rapide. Si la tête de la branche cible existe dans la branche source, alors par défaut, le type de fusion sera une fusion à progression rapide et si elle est absente, alors une fusion sans progression rapide. Le rebasement Git est un autre type de fusion qui réorganise l'historique des livraisons de la branche cible. 

Fusion en avance rapide

Git Fast Forward Merge

Par défaut, Git merge utilise l'avance rapide pour intégrer les commits manquants dans la branche cible. Par exemple, elle est utilisée pour mettre à jour la branche locale à partir d'un serveur distant à l'aide de la commande pull. L'avance rapide ne pose pas de problème de conflit de fusion car Git ne l'appliquera pas si la tête de la branche cible est absente de la branche source. 

Fusion sans avance rapide

Git No-fast-forward Merge

Une fusion sans avance rapide est également appelée fusion à trois ou fusion réelle. Il crée un nouveau commit sur une branche cible en intégrant les modifications de la branche source et de la branche cible. Les modifications sont mélangées après le dernier commit commun aux deux branches. Dans notre cas, c'est après le C. Ce type de fusion provoquera un conflit de fusion Git si la branche source est en conflit avec la branche cible. Dans le diagramme ci-dessus, le commit de fusion (X) est créé en intégrant la branche source et la branche cible, où K et E sont les parents du commit de fusion. 

Rebase 

Git Rebase

Le rebasement Git est un peu différent des autres types de rebasement. Il modifie la séquence de l'historique des livraisons de la branche cible. Le rebasement intègre la branche source de manière à ce que la branche cible contienne toutes les modifications de la branche source, suivies de toutes les validations de la branche cible après la dernière validation commune. Dans notre cas, le dernier commit commun est C, tandis que D et E proviennent de la branche source. Le commit K* est le même que K avec un identifiant de commit différent. Au lieu de lier C, il liera E. Comme pour une fusion sans avance rapide, s'il y a des problèmes de compatibilité dans la branche source et la branche cible, Git soulèvera un problème pour résoudre le conflit avant de finaliser le rebasage. 

Types de conflits de fusion Git

Il existe deux types de conflits de fusion Git : au début et pendant le processus de fusion - Atlassian. Dans cette section, nous allons découvrir ces deux types de situations et les moyens de les résoudre. 

Au début de la fusion

La fusion Git échouera au départ s'il y a des changements dans le répertoire de travail ou la zone de transit. Il échoue au début pour éviter que les modifications ne soient écrasées par des modifications de fusion entrantes. Cela est dû à des conflits avec des modifications locales, et non avec d'autres branches ou développeurs. Pour stabiliser l'état local, vous pouvez utiliser des commandes telles que git stash, git commit, git checkout ou git reset.

Pendant la fusion

Un échec lors de la fusion signifie qu'il y a un conflit entre la branche source et la branche cible lorsque plusieurs développeurs ont modifié le même fichier. Si la fusion automatique échoue, Git vous demandera de résoudre les problèmes manuellement. Vous pouvez également utiliser des outils tiers pour vous aider à visualiser et à intégrer les changements.

Commandes pour résoudre les conflits de fusion Git

Dans cette section, nous allons découvrir différentes commandes natives pour visualiser et résoudre les conflits de fusion Git. 

Commandes courantes

Git status est la commande la plus fréquemment utilisée pour afficher l'état des fichiers modifiés, de la zone de transit et des livraisons. Au cours du processus de fusion, il est utilisé pour identifier les fichiers en conflit.  

git status

Le journal Git avec les arguments --merge produit la liste des commits qui sont en conflit avec la branche source. 

git log --merge

Par défaut, l'option git diff vous montrera la différence entre les changements non validés et les validations précédentes. Git diff est utilisé pour comparer les branches, les commits et les fichiers. Elle est utile pour prévenir les conflits de fusion futurs. 

git diff 

Commandes pour les échecs de fusion au départ

Le checkout est utilisé pour annuler des modifications ou passer à une branche nouvelle ou ancienne. 

git checkout

La réinitialisation de Git permet d'annuler les modifications dans le répertoire de travail et la zone de transit. 

git reset --mixed

Commandes pour les conflits pendant la fusion

L'argument --abort arrêtera le processus de fusion et ramènera les modifications à leur état d'origine avant le début de la fusion. 

git merge --abort

La réinitialisation de Git est généralement utilisée pendant le processus de fusion pour ramener les fichiers en conflit à leur état d'origine.

git reset

Résoudre les conflits entre fichiers supprimés et modifiés

Un conflit Git se produit si vous avez supprimé le fichier dans la branche courante et que quelqu'un d'autre l'a modifié dans une autre branche. Dans ce cas, vous pouvez soit ajouter un fichier et valider,

git add <filename>

ou vous pouvez supprimer le fichier et vous engager. 

git rm <filename>

📌 Git merge conflict resolution cheat sheet

Commandement Description Exemple d'utilisation
git status Affiche les fichiers présentant des conflits de fusion git status
git diff Affiche les différences entre les commits ou les branches git diff HEAD
git log --merge Affiche les engagements impliqués dans un conflit git log --merge
git merge --abort Annule une fusion et rétablit l'état précédent git merge --abort
git reset --hard HEAD Réinitialise la branche au dernier état engagé git reset --hard HEAD
git checkout -- <filename> Annule les modifications apportées à un fichier spécifique git checkout -- README.md
git mergetool Ouvre l'outil de fusion configuré pour la résolution des conflits git mergetool
git add <filename> Marquer un conflit comme résolu après édition git add README.md
git commit -m "<message>" Sauvegarde des modifications résolues après un conflit de fusion git commit -m "Resolved merge conflict"
git rebase --continue Poursuite d'un rebasement interrompu après résolution des conflits git rebase --continue
git rm <filename> Supprime un fichier qui a été supprimé dans une branche et modifié dans une autre. git rm README.md
git push Repousse les modifications après avoir résolu les conflits de fusion git push origin main

Outils de fusion visuelle

Les outils de fusion sont des outils visuels conviviaux permettant d'identifier et de résoudre tous les types de conflits de fusion. Certains de ces outils offrent des fonctionnalités supplémentaires telles que la comparaison des modifications, les opérations Git et la gestion des projets et des référentiels. Il existe deux types d'outils de fusion Git : les outils de terminal et les outils à interface graphique. Les outils basés sur le terminal s'ouvrent dans PowerShell ou Bash, et les outils basés sur l'interface graphique s'ouvrent dans un environnement fenêtré. 

Pour vérifier la liste des outils installés et valides, utilisez :

git mergetool --tool-help 

La liste comprend tous les outils valides qui peuvent être installés et intégrés aux commandes git.

Par exemple, vim et nvim sont installés par défaut, et si vous voulez voir la différence entre un fichier non validé et un fichier validé précédemment, tapez :

git difftool --tool=vimdiff3

L'outil vimdiff3 met en évidence les modifications et vous permet de comparer les modifications dans le terminal. 

Différence entre deux versions d'un même fichier dans Vimdiff3

Différence entre deux versions d'un même fichier dans vimdiff3

Meld

Meld est un outil gratuit et open-source qui permet de résoudre les conflits de fusion à un autre niveau. Pour l'intégrer à Git, vous devez d'abord télécharger et installer l'installation depuis le site officiel. Ensuite, ajoutez-la à la configuration globale afin que Git lance par défaut Meld pour résoudre les conflits.  

Les commandes de configuration ci-dessous ne s'appliquent qu'aux utilisateurs de Windows. La seule modification que vous devez apporter est de changer le chemin d'accès au fichier installé de Meld pour Mac ou Linux. 

git config --global merge.tool meld 

git config --global mergetool.meld.path "C:/Program Files (x86)/Meld/Meld.exe" 

git config --global diff.tool meld

git config --global difftool.meld.path "C:/Program Files (x86)/Meld/Meld.exe"

Après avoir défini les paramètres par défaut, vous pouvez taper git difftool dans le répertoire local de Git pour lancer la version Windows de Meld, ou vous pouvez git mergetool pour résoudre les conflits de fusion comme indiqué ci-dessous.

Résoudre un conflit de fusion avec Meld dans Git

Résoudre un conflit de fusion avec Meld

VSCode

VSCode offre le meilleur moyen, et le plus populaire, de résoudre le conflit de fusion. Lorsque Git ne parvient pas à fusionner les fichiers automatiquement, le VSCode met en évidence le code conflictuel et vous propose quatre options : accepter les modifications actuelles, accepter les modifications entrantes, accepter les deux modifications et comparer les modifications. Vous pouvez utiliser ces options pour nettoyer votre dossier et résoudre tous les problèmes en suspens. 

Résoudre un conflit de fusion Git avec VSCode

Résoudre un conflit de fusion avec VSCode

Si vous cherchez une solution complète pour vos opérations Git, essayez GitKraken. Il est livré avec un client gratuit, une extension VSCode, et fournit un outil intégré pour résoudre les conflits de fusion.  

Comment résoudre un conflit de fusion Git ?

Dans cette section, nous allons apprendre à créer un conflit de fusion Git et à le résoudre. Le tutoriel est divisé en deux parties. Dans la première partie, nous apprendrons à résoudre les conflits Git localement ; la seconde partie concerne la résolution des conflits avec un serveur distant (GitHub).

Conflit local de fusion

La création de conflits de fusion nous aidera à comprendre comment ces questions se posent en premier lieu. Nous pouvons alors utiliser des moyens créatifs pour résoudre ces problèmes ou même les empêcher de se produire à l'avenir. 

Nous allons maintenant créer un dépôt Git avec un seul fichier et créer notre premier commit pour commencer. 

  1. Créez un dossier appelé DataCamp.
  2. Changez le répertoire en DataCamp.
  3. Initialiser Git.
  4. Créez un fichier README.md avec le titre donné.
  5. Mettez en scène et validez les modifications dans un fichier.
mkdir datacamp
cd datacamp
git init
echo "# How to Resolve Git Merge Conflict" > README.md
git add README.md
git commit -m "first commit"

>>> [main (root-commit) 8199ea2] first commit
>>>  1 file changed, 1 insertion(+)
>>> create mode 100644 README.md

Ensuite, nous allons créer un nouveau readme de branche et changer le titre de "...Git Merge..." en "...Git...". Ajoutez le fichier et créez le commit en utilisant l'argument -am.

git checkout -b readme
echo "# How to Resolve Git Conflict" > README.md
git commit -am "new branch conflict added"

>>> [readme 155f694] new branch conflict added
>>> 1 file changed, 1 insertion(+), 1 deletion(-)

Revenez à la branche principale et ajoutez une nouvelle ligne au fichier README.md en utilisant >>. En enregistrant les modifications et en créant des commits, nous avons réussi à créer un conflit entre deux versions du même fichier. 

git checkout main
echo "New change in base branch" >> README.md
git commit -am " a line added to base branch Readme file"

>>> [main f1f1874]  a line added to base branch Readme file
>>> 1 file changed, 1 insertion(+)

Comme nous pouvons le voir, lors de la fusion de la branche readme, Git a affiché un message indiquant que la fusion automatique avait échoué, et que nous devions effectuer les changements manuellement, puis livrer le résultat. 

git merge readme

>>> Auto-merging README.md
>>> CONFLICT (content): Merge conflict in README.md
>>> Automatic merge failed; fix conflicts and then commit the result.

Nous allons résoudre le problème manuellement en ouvrant et en modifiant le fichier dans le Bloc-notes. L'image ci-dessous montre la flèche avec HEAD, un séparateur, et une flèche de direction différente avec un readme. La partie HEAD montre les changements existants dans la branche principale, et la partie readme est la branche que nous voulons fusionner, qui consiste en un titre différent. 

Résolution manuelle d'un conflit de fusionRésolution manuelle d'un conflit de fusion

Pour résoudre le problème, nous allons supprimer la partie de la branche readme, les flèches et le séparateur. La version finale du fichier doit être propre, comme indiqué ci-dessous. 

Conflit résolu 

Après avoir ajouté le fichier et créé un commit, le conflit de fusion sera résolu. C'est le moyen le plus courant et le plus simple de résoudre les problèmes. Vous pouvez également utiliser un environnement de développement intégré (IDE) pour résoudre les problèmes plus rapidement.

git commit -am "conflict resolved in file README.md"
>>> [main 9994a29] conflict resolved in file README.md

Conflit de fusion à distance

Pour créer et résoudre les conflits de fusion à distance, nous devons créer un nouveau dépôt sur GitHub.

Créer un nouveau dépôt sur GitHub

Créer un nouveau dépôt sur GitHub

Ensuite, ajoutez le nom distant (origine) avec l'adresse au dépôt et repoussez toutes les modifications d'un dépôt local vers la branche principale distante en utilisant upstream.

git remote add origin https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
git push --set-upstream origin main


>>> Enumerating objects: 12, done.
>>> Counting objects: 100% (12/12), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (6/6), done.
>>> Writing objects: 100% (12/12), 998 bytes | 499.00 KiB/s, done.
>>> Total 12 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), done.
>>> To https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
>>>  * [new branch]      main -> main
>>> branch 'main' set up to track 'origin/main'.

Pour créer un conflit, nous devons modifier les fichiers local et distant README.md. Vous pouvez utiliser l'éditeur de fichiers GitHub pour remplacer "..Git merge..." par "..Sit-Merge...", puis valider les modifications. 

Modifications dans l'éditeur GitHub

Modifications dans l'éditeur GitHub

Ensuite, dans le dépôt local, modifiez le fichier README.md pour n'ajouter qu'un simple titre et validez les modifications. 

echo "# How to Resolve Merge Conflicts in Git Tutorial" > README.md
git commit -am "local branch changes in README.md"

>>> [main c677a13] local branch changes in README.md
>>>  1 file changed, 1 insertion(+), 4 deletions(-)

Enfin, transférez les modifications vers le serveur distant. Notez que Git a signalé l'erreur en donnant des conseils sur la manière d'éliminer le problème. 

git push


>>> To https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
>>>  ! [rejected]        main -> main (fetch first)
>>> error: failed to push some refs to 'https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git'
>>> hint: Updates were rejected because the remote contains work that you do
>>> hint: not have locally. This is usually caused by another repository pushing
>>> hint: to the same ref. You may want to first integrate the remote changes
>>> hint: (e.g., 'git pull ...') before pushing again.
>>> hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Nous suivrons l'astuce la plus simple, qui consiste à extraire le fichier du serveur distant avant de le pousser. 

L'extraction du fichier a échoué en raison d'un conflit de fusion dans le fichier README.md. Nous pourrions le corriger manuellement à l'aide du Bloc-notes, mais cette fois-ci, nous utiliserons un outil visuel pour nous aider dans ce processus. 

git pull


>>> remote: Enumerating objects: 5, done.
>>> remote: Counting objects: 100% (5/5), done.
>>> remote: Compressing objects: 100% (2/2), done.
>>> remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
>>> Unpacking objects: 100% (3/3), 681 bytes | 75.00 KiB/s, done.
>>> From https://github.com/kingabzpro/DataCamp-Git-Merge-Guide
>>>    aaf149d..49b7d14  main       -> origin/main
>>> Auto-merging README.md
>>> CONFLICT (content): Merge conflict in README.md
>>> Automatic merge failed; fix conflicts and then commit the result.

L'outil de fusion Meld identifiera les fichiers en conflit et les affichera dans l'application Meld GUI.   

git mergetool

>>> Merging:
>>> README.md

>>> Normal merge conflict for 'README.md':
>>>   {local}: modified file
>>>   {remote}: modified file

Il y a trois colonnes : README_LOCAL_473.md, README.md, et README_LOCAL_473.md. Si vous pensez que les modifications à distance sont valables, cliquez sur la flèche noire dans la colonne à distance ; et si vous voulez que les modifications locales persistent, cliquez sur la flèche noire dans la colonne locale. C'est aussi simple que cela. 

Git : Conflit résolu en utilisant l'outil mergetool Meld

Conflit résolu à l'aide de l'outil de fusion Meld

Après avoir effectué les modifications, enregistrez le fichier et validez. Comme vous pouvez le constater, le transfert d'un fichier vers un serveur distant ne provoque pas d'erreur de conflit de fusion.

git commit -am "remote main branch conflict resolved"
git push

>>> Enumerating objects: 16, done.
>>> Counting objects: 100% (16/16), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (6/6), done.
>>> Writing objects: 100% (10/10), 1.08 KiB | 550.00 KiB/s, done.
>>> Total 10 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), completed with 1 local object.
>>> To https://github.com/kingabzpro/DataCamp-Git-Merge-Guide.git
>>>    49b7d14..8f5c3aa  main -> main

Nous avons résolu avec succès des conflits de fusion locaux et distants. Ces conflits sont traités quotidiennement par les scientifiques des données et les ingénieurs en apprentissage automatique. Pour améliorer vos compétences en matière d'opérations Git, suivez un cours d'introduction à Git

Conclusion

La résolution des conflits de fusion Git est une tâche complexe et très risquée car vous pouvez casser le logiciel en fusionnant du code défectueux. Les outils de fusion offrent un environnement convivial et un moyen plus sûr de détecter et de résoudre les conflits de fusion. Dans ce tutoriel, nous avons appris pourquoi les conflits Git se produisent et comment les résoudre. Nous avons également abordé les différents types de fusion et de conflit, les commandes Git utiles et les outils visuels. Dans la dernière section, nous avons créé un conflit de fusion et l'avons résolu dans un référentiel local et distant. 

Si vous êtes novice en matière de Git et que vous souhaitez apprendre comment il fonctionne, lisez ce qui suit : Intro à Git et Tutoriel GitHub

Obtenez une certification pour le poste de Data Engineer de vos rêves

Nos programmes de certification vous aident à vous démarquer et à prouver aux employeurs potentiels que vos compétences sont adaptées à l'emploi.

Obtenez votre certification
Timeline mobile.png

Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

En tant que data scientist certifié, je suis passionné par l'utilisation des technologies de pointe pour créer des applications innovantes d'apprentissage automatique. Avec une solide expérience en reconnaissance vocale, en analyse de données et en reporting, en MLOps, en IA conversationnelle et en NLP, j'ai affiné mes compétences dans le développement de systèmes intelligents qui peuvent avoir un impact réel. En plus de mon expertise technique, je suis également un communicateur compétent, doué pour distiller des concepts complexes dans un langage clair et concis. En conséquence, je suis devenu un blogueur recherché dans le domaine de la science des données, partageant mes idées et mes expériences avec une communauté grandissante de professionnels des données. Actuellement, je me concentre sur la création et l'édition de contenu, en travaillant avec de grands modèles linguistiques pour développer un contenu puissant et attrayant qui peut aider les entreprises et les particuliers à tirer le meilleur parti de leurs données.

FAQ

Quelles sont les meilleures pratiques pour éviter les conflits de fusion Git ?

Réduire les risques de conflits :

  • Tirez toujours les dernières modifications (git pull origin main) avant de commencer un nouveau travail.
  • Communiquez avec votre équipe pour éviter de travailler sur les mêmes lignes de code.
  • Effectuez de petites modifications fréquentes plutôt que des modifications importantes et complexes.
  • Utilisez les branches de fonctionnalités au lieu de vous rendre directement sur main.
  • Exécutez le site git diff avant de procéder à la fusion afin de détecter rapidement les conflits potentiels.

Puis-je résoudre des conflits de fusion sans terminal ?

Oui ! De nombreux outils Git basés sur une interface graphique facilitent la résolution des conflits :

  • Code VS: Met en évidence les conflits avec les options "Accepter les appels entrants" et "Accepter les appels en cours".
  • GitKraken: Fournit une interface visuelle pour résoudre les conflits de manière interactive.
  • Meld / Beyond Compare : Des outils de fusion qui permettent de comparer et de résoudre visuellement les différences. Lancez git mergetool pour utiliser un outil visuel configuré.

Pourquoi est-ce que je continue à avoir des conflits de fusion même après les avoir résolus ?

Les raisons possibles sont les suivantes :

  • Vous avez oublié de mettre en scène (git add) et de livrer (git commit -m "Resolved conflict") les fichiers résolus.
  • Un autre coéquipier a apporté de nouvelles modifications conflictuelles après que vous ayez résolu les vôtres. Essayez git pull --rebase.
  • Vous n'avez pas poussé vos modifications résolues avant de fusionner à nouveau. Lancez toujours git push après avoir résolu les conflits.

Que dois-je faire si j'annule accidentellement une fusion (git merge --abort) ?

Si vous avez interrompu une fusion mais que vous souhaitez réessayer, vous pouvez le faire :

  • Il suffit de réexécuter la commande de fusion (git merge ).
  • Utilisez git reflog pour vérifier l'état antérieur à l'abandon et le rétablir si nécessaire.

Comment puis-je annuler une erreur lors de la résolution d'un conflit de fusion ?

Si vous avez commis une erreur dans la résolution d'un conflit :

  • Exécutez git reset --hard HEAD pour annuler toutes les modifications et redémarrer.
  • Utilisez git checkout -- pour rétablir l'état d'origine de certains fichiers.
  • Si vous avez déjà commis l'erreur, utilisez git revert pour créer un nouveau commit annulant les modifications.

Comment résoudre un conflit de fusion dans des fichiers binaires ?

Git ne peut pas fusionner automatiquement des fichiers binaires (par exemple, des images, des PDF). A résoudre :

  • Choisissez manuellement la version à conserver et remplacez le fichier.
  • Utilisez git checkout --theirs ou git checkout --ours pour conserver une version.
  • Validez le fichier résolu (git add && git commit -m "Resolved binary file conflict").

Quelle est la différence entre git merge --abort et git reset --merge ?

  • git merge --abort: Annule en toute sécurité une fusion et rétablit la branche dans l'état où elle se trouvait avant la fusion.
  • git reset --merge: Similaire, mais conserve les fichiers mis en scène et peut être plus utile si vous souhaitez conserver certaines modifications.

Comment résoudre un conflit de fusion lors d'une poussée sur GitHub ?

Si git push échoue en raison d'un conflit de fusion, essayez ce qui suit :

  • Téléchargez les dernières modifications: git pull origin main --rebase
  • Résoudre manuellement les conflits dans votre agence locale.
  • Mettre en scène et valider les fichiers résolus :
git add 
git commit -m "Resolved merge conflict"
  • Poussez à nouveau: git push origin main

Qu'est-ce qu'un conflit de rebase et comment le résoudre ?

Un conflit de rebase se produit lors de l'exécution de git rebase et les changements ne peuvent pas être appliqués proprement. Corriger :

  • Résolvez les conflits manuellement, puis exécutez git rebase --continue.
  • Si vous souhaitez annuler le rebasement, utilisez git rebase --abort.
  • Utilisez git rebase --skip si vous souhaitez ignorer le commit conflictuel.

Puis-je fusionner des branches sans conflits en utilisant les paramètres Git ?

Git dispose d'une stratégie de fusion automatique qui peut parfois s'avérer utile :

  • Utilisez git merge -X theirs pour toujours accepter les modifications de l'autre branche.
  • Utilisez git merge -X ours pour toujours conserver les modifications de votre branche. Toutefois, cette méthode n'est pas infaillible et doit être utilisée avec précaution.
Sujets

Apprenez-en plus sur Git avec ces cours !

Certification disponible

Cours

Introduction à Git

2 hr
16.7K
Découvrez les principes fondamentaux de Git pour le contrôle des versions dans vos projets de logiciels et de données.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow