Sommaire de la documentation

// Documentation Singularity

Graphe, branches & tags

Le graphe Git rend l’historique d’un dépôt lisible et actionnable. Il relie commits, branches, worktrees, références distantes, tags et remises, tandis que les onglets Branches et Tags offrent une vue dédiée pour administrer ces références.

L’onglet Graphe

Depuis le cockpit Git d’un projet, choisissez Graphe pour ouvrir l’historique dans le Hangar. Chaque ligne représente un commit. La colonne graphique relie ses parents : une ligne qui se sépare signale une divergence ; plusieurs lignes qui rejoignent un même nœud signalent un commit de fusion. Les autres colonnes donnent le message, l’auteur et la date.

Les couleurs servent à suivre une voie visuellement ; elles ne donnent ni priorité ni état à une branche. Les pastilles nomment les références qui pointent sur le commit : branche locale, branche distante, worktree, tag ou remise. Pour lire une fusion, partez de son nœud et suivez chacune de ses lignes parentes vers les deux historiques réunis.

Graphe Git de Singularity affichant des branches et une fusion dans un dépôt d’exemple
Les voies colorées relient les commits ; les pastilles indiquent les références qui les désignent.

Sélectionner un commit

Sélectionnez une ligne pour ouvrir le détail du commit. Le panneau affiche son message complet, son auteur, sa date et la liste des fichiers touchés. Choisissez ensuite un fichier pour consulter son diff : les ajouts, suppressions et lignes de contexte permettent de comprendre précisément la modification.

Cette inspection ne déplace aucune branche et ne modifie pas l’arbre de travail. L’action Comparer avec l’arbre de travail du menu contextuel sélectionne ce même commit comme base de comparaison.

Un clic droit sur un commit propose toujours : extraire le commit, fetch, pull de la branche courante lorsqu’elle existe, comparer avec l’arbre de travail, créer une branche depuis ce point, cherry-pick, reset de la branche courante en mode soft, mixed ou hard, revert, copier le SHA et créer un tag.

Sur une pastille de branche, le même menu ajoute selon le contexte : changer de branche, pull, push, push forcé, fusionner la branche dans la branche courante ou l’inverse, reset de la branche courante vers cette référence, verrouiller ou déverrouiller, supprimer la branche locale, sa branche distante ou les deux, retirer un worktree, supprimer une branche distante, filtrer le graphe sur la branche ou effacer ce filtre. Sur un tag, il permet aussi de supprimer le tag. Sur une remise, le menu dédié propose appliquer, pop, supprimer et copier la référence de remise.

Réécriture d’historique : les resets soft, mixed et hard déplacent la branche courante ; le mode hard supprime en plus les changements non commités. Le push forcé remplace l’historique distant. Utilisez-les seulement après avoir vérifié la référence cible et coordonnez-vous si la branche est partagée. Cherry-pick et revert ajoutent de nouveaux commits ; les fusions ajoutent normalement un commit de fusion ou avancent la branche rapidement.

L’onglet Branches

Ouvrez Branches depuis le cockpit Git pour parcourir les branches locales, distantes et celles utilisées par un worktree. Le filtre retrouve rapidement un nom ; la branche active et son éventuelle branche amont sont signalées.

Le menu d’une branche permet de la changer, d’en créer une nouvelle à partir d’elle, de la renommer, de la verrouiller, de la montrer sur le graphe, de la fusionner ou d’y réinitialiser la branche courante. Vous pouvez publier une branche, la tirer depuis son amont, ou supprimer sa copie locale, distante ou les deux. Une branche distante sans copie locale peut être extraite pour créer automatiquement la branche locale qui la suit. Singularity demande une confirmation avant les opérations dangereuses et protège les branches verrouillées.

Onglet Branches de Singularity affichant des branches locales et distantes d’exemple
La vue Branches regroupe les références locales, distantes et les worktrees.

Les tags

Ouvrez Tags depuis le cockpit pour consulter tous les tags du dépôt. La liste indique le nom, le SHA court, la date, le message et l’auteur lorsqu’ils existent, ainsi que leur présence locale ou sur chaque dépôt distant. Filtrez par nom, message ou auteur ; double-cliquez un tag, ou utilisez Afficher sur le graphe, pour rejoindre son commit.

Pour créer un tag, faites un clic droit sur le commit visé dans le graphe puis choisissez Créer un tag. Le menu d’un tag permet aussi de le supprimer localement. Créer ou supprimer un tag local ne le publie pas et ne le retire pas automatiquement des dépôts distants.

Bonnes pratiques

Dans un dépôt à historique linéaire, récupérez d’abord les références distantes puis utilisez Pull (rebase) ou rebasez votre branche de travail sur la branche cible avant intégration. Vous conservez ainsi une suite de commits lisible sans commit de fusion superflu.

  • Travaillez sur une branche courte et donnez à chaque commit un objectif clair.
  • Vérifiez l’arbre de travail et la référence cible avant un reset, un changement de branche ou un rebase.
  • Ne forcez jamais la publication d’une branche partagée sans coordination.
  • Préférez revert pour annuler un changement déjà publié : il conserve la trace de l’annulation.
  • Placez les tags de version sur des commits stables et identifiables.

Questions fréquentes

Quelles actions réécrivent l’historique ?

Les resets déplacent la branche courante et peuvent rendre des commits inaccessibles. Un push forcé remplace aussi l’historique distant. Le cherry-pick et le revert créent au contraire de nouveaux commits.

Pourquoi préférer un rebase dans un dépôt linéaire ?

Le rebase rejoue les commits locaux au-dessus de la branche cible et évite un commit de fusion. Il ne faut toutefois pas rebaser des commits déjà partagés sans coordination.