Français ▾ Topics ▾ Latest version ▾ git-mergetool last updated in 2.52.0

NOM

git-mergetool - Lancer les outils de résolution de conflit de fusion pour résoudre les conflits de fusion

SYNOPSIS

git mergetool [--tool=<outil>] [-y | --[no-]prompt] [<fichier>…​]

DESCRIPTION

Utilisez git mergetool pour lancer l’un des nombreux utilitaires de fusion afin de résoudre les conflits de fusion. Il est généralement lancé après git merge.

Si un ou plusieurs paramètres <fichier> sont donnés, le programme outil de fusion sera exécuté pour résoudre les différences dans chaque fichier (en sautant ceux qui n’ont pas de conflit). La spécification d’un répertoire inclura tous les fichiers non résolus dans ce chemin. Si aucun nom de <fichier> n’est spécifié, git mergetool lancera le programme de fusion sur chaque fichier ayant des conflits de fusion.

OPTIONS

-t <outil>
--tool=<outil>

Utiliser le programme de résolution de fusion spécifié par <outil>. Les valeurs valides comprennent emerge, gvimdiff, kdiff3, meld, vimdiff et tortoisemerge. Lancez git mergetool --tool-help pour obtenir la liste des paramètres <outil> valides.

Si un programme de résolution de fusion n’est pas spécifié, git mergetool utilisera la variable de configuration merge.tool. Si la variable de configuration merge.tool n’est pas définie, git mergetool choisira une valeur par défaut appropriée.

Vous pouvez explicitement fournir un chemin complet vers l’outil en définissant la variable de configuration mergetool.<outil>.path. Par exemple, vous pouvez configurer le chemin absolu vers kdiff3 en définissant mergetool.kdiff3.path. Sinon, git mergetool suppose que l’outil est disponible dans $PATH.

Au lieu d’exécuter un des programmes connus de l’outil de fusion, git mergetool peut être personnalisé pour exécuter un programme alternatif en spécifiant la ligne de commande à invoquer dans une variable de configuration mergetool.<outil>.cmd.

Lorsque git mergetool est invoqué avec cet outil (soit par l’option -t ou --tool ou par la variable de configuration merge.tool), la ligne de commande configurée sera invoquée avec BASE défini au nom d’un fichier temporaire contenant la base commune pour la fusion, si disponible ; LOCAL défini au nom d’un fichier temporaire contenant le contenu du fichier sur la branche courante ; REMOTE défini au nom d’un fichier temporaire contenant le contenu du fichier à fusionner, et MERGED défini au nom du fichier dans lequel l’outil de fusion doit écrire le résultat de la résolution de la fusion.

Si l’outil de fusion personnalisé indique correctement le succès d’une résolution de fusion dans son code de sortie, alors la variable de configuration mergetool.<outil>.trustExitCode peut être définie à true. Sinon, git mergetool demandera à l’utilisateur d’indiquer le succès de la résolution après que l’outil personnalisé soit sorti.

--tool-help

Afficher une liste des outils de fusion utilisables avec --tool.

-y
--no-prompt

Ne pas demander avant chaque invocation du programme de résolution de fusion. C’est la valeur par défaut si le programme de résolution de fusion est explicitement spécifié avec l’option --tool ou avec la variable de configuration merge.tool.

--prompt

Demander avant chaque invocation du programme de résolution de fusion pour donner à l’utilisateur une chance de sauter le chemin.

-g
--gui

Lorsque git-mergetool est invoqué avec l’option -g ou --gui, l’outil de fusion par défaut sera lu à partir de la variable merge.guitool configurée au lieu de merge.tool. Si merge.guitool n’est pas défini, l’outil configuré sous merge.tool est utilisé. L’outil graphique peut être autosélectionné en utilisant la variable de configuration mergetool.guiDefault.

--no-gui

Ceci prend le pas sur un réglage précédent de -g ou --gui ou la configuration mergetool.guiDefault et lit que l’outil de fusion par défaut à partir de la variable merge.tool configurée.

-O<fichier-d-ordre>

Traiter les fichiers dans l’ordre spécifié dans le <fichier d’ordre>, qui a un motif glob shell par ligne. Ceci remplace la variable de configuration diff.orderFile (voir git-config[1]). Pour annuler diff.orderFile, utilisez -O/dev/null.

CONFIGURATION

Tout ce qui se trouve en dessous de cette ligne dans cette section est inclus de manière sélective à partir de la documentation git-config[1]. Le contenu est le même que celui qui s’y trouve :

mergetool.<outil>.path

Surcharger le chemin pour l’outil donné. Ceci est utile si votre outil n’est pas dans le $PATH.

mergetool.<outil>.cmd

Spécifier la commande pour invoquer l’outil de fusion spécifié. La commande spécifiée est évaluée dans un shell avec les variables suivantes disponibles : BASE est le nom d’un fichier temporaire contenant la base commune des fichiers à fusionner, si disponible ; LOCAL est le nom d’un fichier temporaire contenant le contenu du fichier sur la branche actuelle ; REMOTE est le nom d’un fichier temporaire contenant le contenu du fichier de la branche à fusionner ; MERGED contient le nom du fichier dans lequel l’outil de fusion devra écrire le résultat d’une fusion réussie.

mergetool.<outil>.hideResolved

Permet à l’utilisateur de remplacer la valeur globale de mergetool.hideResolved pour un outil spécifique. Voir mergetool.hideResolved pour la description complète.

mergetool.<outil>.trustExitCode

Pour une commande de fusion personnalisée, spécifier si le code de sortie de la commande de fusion peut être utilisé pour déterminer si la fusion a été réussie. Si cela n’est pas réglé à true alors l’horodatage du fichier cible de fusion est vérifié, et la fusion est supposée avoir été réussie si le fichier a été mis à jour ; sinon, l’utilisateur est invité à indiquer le succès de la fusion.

mergetool.meld.hasOutput

Les versions plus anciennes de meld ne gèrent pas l’option --output. Git tentera de déterminer si meld gère --output en inspectant la sortie de meld --help. Configurer mergetool.meld.hasOutput indiquera à Git de sauter ces vérifications et utilisera la valeur configurée à la place. Régler mergetool.meld.hasOutput à true indique à Git d’utiliser inconditionnellement l’option --output et false évite d’utiliser --output.

mergetool.meld.useAutoMerge

Lorsque l’option --auto-merge est donnée, meld fusionnera automatiquement toutes les parties non conflictuelles, mettra en évidence les parties en conflit et attendra la décision de l’utilisateur. Régler mergetool.meld.useAutoMerge à true indique à Git d’utiliser sans condition l’option --auto-merge avec meld. Régler cette valeur à auto permet de détecter si --auto-merge est pris en charge et n’utilisera que l’option --auto-merge lorsqu’elle est disponible. Une valeur à false évite complètement d’utiliser --auto-merge et c’est la valeur par défaut.

mergetool.<variante>.layout

Configurer la configuration en fenêtre scindée pour la <variante> de vimdiff, parmi vimdiff, nvimdiff, gvimdiff. Lors du lancement de git mergetool avec --tool= <variante> (ou sans --tool si merge.tool est configuré comme <variante>), Git consultera mergetool. <variante>.layout pour déterminer la disposition de l’outil. Si la configuration spécifique à la variante n’est pas disponible, celle de vimdiff est utilisée par défaut. Si elle n’est pas non plus disponible, une mise en page par défaut avec 4 fenêtres sera utilisée. Pour configurer la mise en page, voir le INDICES SPÉCIFIQUES À UN BACKEND section.

mergetool.hideResolved

Lors d’une fusion, Git résoudra automatiquement le plus de conflits possible et écrira le fichier $MERGED contenant des marqueurs de conflit autour de tout conflit qu’il ne peut résoudre ; $LOCAL et $REMOTE sont normalement les versions du fichier avant la résolution de conflit de Git. Ce drapeau provoque l’écrasement de $LOCAL et $REMOTE afin que seuls les conflits non résolus soient présentés à l’outil de fusion. Peut être configuré par outil via la variable de configuration mergetool.<outil>.hideResolved. Par défaut à false.

mergetool.keepBackup

Après avoir effectué une fusion, le fichier original avec des marqueurs de conflit peut être enregistré comme fichier avec une extension .orig. Si cette variable est définie à false alors ce fichier n’est pas conservé. Par défaut à true (c.-à-d. garder les fichiers de sauvegarde).

mergetool.keepTemporaries

Lorsque vous invoquez un outil de fusion personnalisé, Git utilise un ensemble de fichiers temporaires qu’il passe à l’outil. Si l’outil retourne une erreur et que cette variable est définie à true, alors ces fichiers temporaires seront conservés ; sinon, ils seront supprimés après la sortie de l’outil. Par défaut à false.

mergetool.writeToTemp

Git écrit des versions temporaires BASE, LOCAL et REMOTE des fichiers ayant des conflits dans l’arbre de travail par défaut. Git tentera d’utiliser un répertoire temporaire pour ces fichiers lorsque défini à true. Par défaut à false.

mergetool.prompt

Demander avant chaque invocation du programme de résolution de fusion.

mergetool.guiDefault

Définir à true pour utiliser merge.guitool par défaut (équivalant à spécifier l’argument --gui), ou auto pour sélectionner merge.guitool ou merge.tool selon la présence d`une valeur variable d’environnement DISPLAY. La valeur par défaut est false, où l`argument --gui doit être fourni explicitement pour que le merge.guitool soit utilisé.

FICHIERS TEMPORAIRES

git mergetool crée des fichiers de sauvegarde *.orig lors de la résolution des fusions. Il est possible de les supprimer en toute sécurité une fois qu’un fichier a été fusionné et que sa session git mergetool est terminée.

Définir la variable de configuration mergetool.keepBackup sur` false` fait que git mergetool supprime automatiquement les fichiers de sauvegarde lorsque les fichiers sont correctement fusionnés.

CONSEILS SPÉCIFIQUES AU MOTEUR

vimdiff

Warning

Missing fr/mergetools/vimdiff.adoc

See original version for this content.

GIT

Fait partie de la suite git[1]

TRADUCTION

Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .