Aucune des autres réponses actuelles ne permet de "fusionner" réellement les fichiers, comme si vous utilisiez la commande merge. (Au mieux, elles vous demanderont de sélectionner manuellement les différences.) Si vous souhaitez réellement tirer parti de la fusion en utilisant les informations d'un ancêtre commun, vous pouvez suivre une procédure basée sur celle trouvée dans le fichier Section "Fusion avancée". du manuel de référence de git.
Pour ce protocole, je suppose que vous voulez fusionner le fichier 'path/to/file.txt' de origin/master dans HEAD - modifiez comme il convient. (Il n'est pas nécessaire d'être dans le répertoire supérieur de votre référentiel, mais cela aide).
# Find the merge base SHA1 (the common ancestor) for the two commits:
git merge-base HEAD origin/master
# Get the contents of the files at each stage
git show <merge-base SHA1>:path/to/file.txt > ./file.common.txt
git show HEAD:path/to/file.txt > ./file.ours.txt
git show origin/master:path/to/file.txt > ./file.theirs.txt
# You can pre-edit any of the files (e.g. run a formatter on it), if you want.
# Merge the files
git merge-file -p ./file.ours.txt ./file.common.txt ./file.theirs.txt > ./file.merged.txt
# Resolve merge conflicts in ./file.merged.txt
# Copy the merged version to the destination
# Clean up the intermediate files
git fusion-fichier doit utiliser tous les paramètres de fusion par défaut pour le formatage et autres.
Notez également que si votre "nôtre" est la version de travail et que vous ne voulez pas être trop prudent, vous pouvez opérer directement sur le fichier :
git merge-base HEAD origin/master
git show <merge-base SHA1>:path/to/file.txt > ./file.common.txt
git show origin/master:path/to/file.txt > ./file.theirs.txt
git merge-file path/to/file.txt ./file.common.txt ./file.theirs.txt