La commande qui trouve les conflits de fusion est git merge
. Exécuter git merge
, éventuellement avec --no-commit
et éventuellement sur un HEAD détaché. En cas de conflit, git merge
quitte avec un état non nul. S'il n'y a pas de conflits, git merge
quitte avec un statut zéro. Si exécuté avec --no-commit
Git ne fait aucun commit dans les deux cas; s'il est exécuté sans Git, Git effectue un commit de fusion sur le HEAD actuel. Si HEAD est détaché, ce commit n'affecte que HEAD.
Si vous avez utilisé un HEAD détaché, vous pouvez maintenant rattacher HEAD à sa branche d'origine ou valider.
Si vous avez utilisé --no-commit
, vous pouvez simplement exécuter git merge --abort
, que la fusion réussisse ou échoue. Par conséquent, la séquence de commandes la plus simple consiste à exécuter git merge --no-commit
, à enregistrer le statut de sortie, puis à exécuter git merge --abort
. Notez que dans tous les cas, Git utilisera l'index et l'arborescence au cours du processus de fusion. Vous devez donc vous assurer qu'ils sont sûrs pour Git pendant toute cette période. (En particulier, l'index et l'arbre de travail doivent être "propres" au début du processus, ils seront aussi propres à la fin, à condition qu'il n'y ait pas de pilotes de fusion qui laissent des dégâts.)
(Comment obtenir le statut de sortie de git merge
de node.js, je n'ai aucune idée.)