Cours
Comment résoudre les conflits de fusion dans Git Tutorial
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.
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
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
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
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
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
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
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 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.
- Créez un dossier appelé DataCamp.
- Changez le répertoire en DataCamp.
- Initialiser Git.
- Créez un fichier
README.md
avec le titre donné. - 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 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
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
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.
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.


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
ougit 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.
Apprenez-en plus sur Git avec ces cours !
Cours
Git intermédiaire
Cours