Sommaire de la documentation

// Documentation Singularity

Synchroniser plusieurs dépôts : fetch, pull, push et push rejeté

La vue Git du navigateur affiche la branche et l’écart avec le distant de chaque projet du workspace. Récupérez, tirez et poussez sans changer d’onglet, et laissez Singularity guider la reprise quand un push est rejeté.

Tous les dépôts du workspace d’un coup d’œil

Dans le navigateur, passez sur la vue Git : chaque projet du workspace affiche sa branche courante et ses compteurs ↑ (commits locaux à publier) et ↓ (commits distants à intégrer). Une icône d’alerte signale un dépôt qui demande votre attention.

Dépliez un projet pour voir ses fichiers non indexés, non suivis et indexés, ses remises et ses worktrees, et committer depuis le composeur en bas du panneau. Un fetch automatique en arrière-plan tient les compteurs à jour.

Vue Git du navigateur listant quatre projets avec leur branche, leurs compteurs ahead/behind et les actions Fetch, Pull et Push au survol
Chaque projet affiche sa branche et son écart ; les actions apparaissent au survol.

Fetch, Pull et Push au survol

Survolez un projet pour faire apparaître ses actions : Fetch télécharge les références distantes sans toucher à vos fichiers, Pull intègre la branche amont — par merge ou par rebase selon la divergence — et Push publie vos commits. Le menu … regroupe les autres actions du dépôt.

Vous synchronisez ainsi plusieurs dépôts à la suite sans ouvrir leur cockpit. Une notification confirme chaque opération, par exemple « Envoi vers origin réussi – 4 commits ». Pour le détail du cockpit, voir échanger avec le distant.

Quand le push est rejeté

Si la branche distante a avancé, Git refuse le push. Singularity ouvre le dialogue Envoi rejeté — « main » est en retard sur le dépôt distant et propose trois choix :

  • Tirer d’abord intègre les modifications distantes localement pour que vous les vérifiiez avant un nouvel envoi. C’est le choix sûr.
  • Forcer l’envoi remplace la branche distante par votre historique local avec --force-with-lease.
  • Annuler laisse les deux branches inchangées.

Si la reprise échoue à son tour, Singularity propose un ticket de correction. Pour les workflows GitHub, il sait aussi réparer une configuration SSH défaillante.

Dialogue Envoi rejeté de Singularity avec les boutons Annuler, Forcer l’envoi et Tirer d’abord
Le dialogue explique l’écart et propose de tirer avant de pousser.

Avec des agents en parallèle

Les agents travaillent dans leurs propres worktrees et la file de commits intègre leur travail un ticket après l’autre, par rebase, sans commit de merge. Votre branche principale peut donc avancer pendant que vous travaillez : faites un Fetch avant de pousser, et préférez Tirer d’abord à l’envoi forcé sur une branche partagée.

Questions fréquentes

Pourquoi mon push est-il rejeté ?

Le dépôt distant contient des commits absents de votre branche locale : quelqu’un — ou un agent — a poussé entre-temps. Choisissez Tirer d’abord pour intégrer ces commits, vérifier, puis pousser à nouveau.

Forcer l’envoi efface-t-il le travail des autres ?

Il remplace la branche distante par votre historique local avec --force-with-lease, qui refuse l’envoi si la branche distante a changé depuis votre dernière récupération. Les commits distants que vous n’avez pas récupérés sont donc protégés, mais ceux que vous écrasez sciemment disparaissent de la branche.