git merge-tree
Calculer une fusion sans toucher au répertoire de travail
La commande 'git merge-tree --write-tree' effectue une fusion entièrement en mémoire : elle affiche l’identifiant de l’arbre fusionné et, en cas de conflits, les fichiers en conflit et les messages — sans changer vos fichiers, la zone de préparation ni aucune branche. Elle sort avec 1 en cas de conflit, ce qui la rend idéale pour les scripts et serveurs qui doivent savoir si deux branches fusionneraient proprement.
Synopsis
git merge-tree --write-tree [--name-only] <branch1> <branch2>Exemples
Tester une fusion
git merge-tree --write-tree main featurePropre : affiche un identifiant d’arbre ; conflits : code de sortie 1.
Seulement les fichiers en conflit
git merge-tree --write-tree --name-only main featureNoms de fichiers au lieu des étapes.
Exemples de workflows
git merge-tree --write-tree main feature || echo "conflicts"Le code de sortie 1 signifie des conflits
Dépannage
usage: git merge-tree … (old mode output)
Cause : Les anciennes versions de Git n’ont que le mode trivial
Mettez Git à jour (--write-tree demande 2.38+)
Astuces et pièges
Bonnes pratiques
- ✓Utilisez le code de sortie dans les scripts : 0 propre, 1 conflits.
Erreurs fréquentes
- ✗S’attendre à un commit de fusion — merge-tree ne fait que calculer le résultat.
FAQ
L’arbre que la fusion produirait ; vous pourriez le committer avec git commit-tree.