Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.55.0 no changes
-
2.54.0
2026-04-20
- 2.44.1 → 2.53.0 no changes
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 no changes
-
2.43.0
2023-11-20
- 2.35.1 → 2.42.4 no changes
-
2.35.0
2022-01-24
- 2.7.6 → 2.34.8 no changes
-
2.6.7
2017-05-05
- 2.1.4 → 2.5.6 no changes
-
2.0.5
2014-12-17
SYNOPSIS
git merge-file [-L <nom-actuel> [-L <nom-de-base> [-L <autre-nom>]]] [--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>] [--[no-]diff3] [--object-id] <actuel> <base> <autre>
DESCRIPTION
Étant donnés trois fichiers <current>, <base> et <other>, git merge-file incorpore toutes les modifications qui mènent de <base> à <other> dans <current>. Le résultat va ordinairement dans <current>. git merge-file est utile pour combiner des modifications séparées d’un original. Supposons que <base> est l’original, et que <current> et <other> sont des modifications de <base>, alors git merge-file combine les deux modifications.
Un conflit se produit si <courant> et <autre> ont tous deux des changements dans un segment commun de lignes. Si un conflit est trouvé, git merge-file affiche généralement un avertissement et encadre le conflit avec des lignes contenant les marqueurs <<<<<<< et >>>>>>>. Un conflit typique ressemblera à ceci :
<<<<<<< A lines in file A ======= lines in file B >>>>>>> B
S’il y a des conflits, l’utilisateur devrait éditer le résultat et supprimer l’une des alternatives. Lorsque l’option --ours, --theirs ou --union est active, cependant, ces conflits sont résolus en faveur des lignes de <courant>, des lignes de <autre>, ou des lignes des deux respectivement. La longueur des marqueurs de conflit peut être donnée avec l’option --marker-size.
Si --object-id est spécifié, le même comportement se produit exactement, sauf qu’au lieu de spécifier quoi fusionner comme fichiers, c’est spécifié comme une liste d’identifiants d’objet référençant des blobs.
La valeur de sortie de ce programme est négative en cas d’erreur, et le nombre de conflits sinon (tronqué à 127 s’il y a plus de 127 conflits). Si la fusion était propre, la valeur de sortie est 0.
git merge-file est conçu pour être un clone minimal de RCS merge ; c’est-à-dire, il implémente toute la fonctionnalité de RCS merge nécessaire à git[1].
OPTIONS
- --object-id
-
Spécifier le contenu à fusionner comme des blobs dans le dépôt courant au lieu de fichiers. Dans ce cas, l’opération doit avoir lieu dans un dépôt valide.
Si l’option
-pest spécifiée, le fichier fusionné (y compris les conflits, le cas échéant) va vers la sortie standard comme d’habitude ; sinon, le fichier fusionné est écrit dans le magasin d’objets et l’identifiant d’objet de son blob est écrit dans la sortie standard. - -L <étiquette>
-
Cette option peut être donnée jusqu’à trois fois, et spécifie les étiquettes à utiliser à la place des noms de fichiers correspondants dans les rapports de conflit. C’est-à-dire,
gitmerge-file-Lx-Ly-Lzabcgénère une sortie qui ressemble à ce qui provient des fichiers x, y et z au lieu des fichiers a, b et c. - -p
-
Envoyer les résultats vers la sortie standard au lieu d’écraser <courant>.
- -q
-
Silencieux ; ne pas avertir à propos des conflits.
- --diff3
-
Afficher les conflits en style « diff3 ».
- --zdiff3
-
Afficher les conflits en style « zdiff3 ».
Les options
--diff3et--zdiff3ont par défaut la valeur de la variable de configurationmerge.conflictStyle(voir git-config[1]). - --ours
- --theirs
- --union
-
Au lieu de laisser les conflits dans le fichier, résoudre les conflits en faveur de notre (ou leur ou les deux) côté des lignes.
- --diff-algorithm={patience|minimal|histogram|myers}
-
Utiliser un algorithme de diff différent lors des fusions. La valeur par défaut actuelle est "myers", mais sélectionner un algorithme plus récent tel que "histogram" ce qui peut aider à éviter les erreurs de fusion dues à des lignes de correspondance sans importance (comme des accolades de fonctions distinctes). Voir aussi git-diff[1]
--diff-algorithm.
EXEMPLES
-
gitmerge-fileREADME.myREADMEREADME.upstream -
combine les modifications de README.my et README.upstream depuis README, essaie de les fusionner et écrit le résultat dans README.my.
-
gitmerge-file-La-Lb-Lctmp/a123tmp/b234tmp/c345 -
fusionne tmp/a123 et tmp/c345 avec la base tmp/b234, mais utilise les étiquettes
aetcau lieu detmp/a123ettmp/c345. -
gitmerge-file-p--object-idabc1234def567890abcd -
combine les modifications du blob abc1234 et 890abcd depuis def567, essaie de les fusionner et écrit le résultat dans la sortie standard
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 .