Sommaire de la documentation

// Documentation Singularity

Résoudre un conflit Git : à la main ou avec un ticket IA

Quand Git refuse une fusion, Singularity n’écrit rien : il affiche les fichiers en conflit et vous laisse choisir entre l’éditeur trois volets et un ticket de résolution confié à un agent dans un worktree dédié.

La modale « Conflit de fusion »

Un conflit peut survenir en fusionnant une branche depuis le menu du graphe, en intégrant le worktree d’un ticket avec Fusionner dans main…, ou pendant un pull ou un rebase. Singularity affiche alors la modale Conflit de fusion : les branches concernées, la liste des fichiers en conflit et la garantie qu’aucune fusion ni aucun envoi n’a été effectué.

Trois choix : Annuler, Fusionner manuellement ou Créer un ticket de résolution. Un merge ou un rebase déjà engagé peut aussi être abandonné pour revenir à l’état précédent.

Modale Conflit de fusion de Singularity pour un worktree fusionné dans main, avec le fichier en conflit et le bouton Créer un ticket de résolution
Rien n’est fusionné : choisissez de résoudre vous-même ou de confier le conflit à un ticket.

Résoudre à la main : l’éditeur trois volets

Fusionner manuellement ouvre l’onglet Résoudre les conflits. Pour chaque fichier, le volet Branche actuelle et le volet Source entrante présentent les deux versions ; cochez Conserver le bloc actuel, Prendre le bloc entrant ou les deux, bloc par bloc ou ligne par ligne. Le volet Résultat montre le fichier final en direct.

Rien n’est écrit avant confirmation : Résoudre les fichiers applique vos choix et termine la fusion, Créer plutôt un ticket bascule vers la résolution par un agent, Annuler abandonne.

Éditeur de résolution de conflits de Singularity avec les volets Branche actuelle, Source entrante et Résultat
Choisissez chaque bloc ; le résultat se met à jour avant toute écriture.

Confier le conflit à un agent

Créer un ticket de résolution ouvre le dialogue de création, prérempli : la branche à fusionner, la branche cible, la raison du refus de Git et la liste des fichiers en conflit. Choisissez l’agent, le modèle et le niveau de réflexion, puis créez le ticket. Il est créé en priorité haute.

L’agent travaille dans un worktree dédié : il résout le conflit, lance les vérifications du projet et termine la fusion. Vous relisez le résultat dans la revue avant intégration, comme pour tout autre ticket.

Dialogue de création d’un ticket de résolution prérempli avec la fusion du worktree dans main et les fichiers en conflit
Le ticket décrit la fusion refusée et les fichiers à résoudre.

Suivre la résolution sur le board

Le ticket de résolution rejoint À faire dans Mission Control, avec sa priorité haute. Dans la vue Git du navigateur, la section Worktrees du projet liste les worktrees non mergés ; dépliez-en un pour retrouver Fusionner dans main…, Graphe et Explorer. Voir explorer le worktree d’un ticket.

Mission Control avec le ticket Merge worktree into main dans À faire et la liste des worktrees non mergés dans le navigateur
Le ticket de résolution attend dans À faire ; les worktrees restent accessibles dans le navigateur.

Questions fréquentes

Une fusion en conflit modifie-t-elle mes branches ?

Non. La modale indique qu’aucune fusion ni aucun envoi n’a été effectué : les deux branches restent à leur position initiale tant que vous n’avez pas confirmé une résolution.

Que reçoit l’agent dans un ticket de résolution ?

Le ticket est prérempli avec la branche source, la branche cible et la liste des fichiers en conflit. Il est créé en priorité haute et l’agent résout le conflit dans un worktree dédié, que vous relisez avant intégration.