Messages d’erreur
Quand quelque chose échoue, yaggui affiche un message écrit pour les humains, pas la sortie brute de Git, et propose la suite sous forme de bouton quand il y en a une. Cette page explique où les erreurs apparaissent, puis liste chaque message par domaine pour que vous puissiez rechercher le texte que vous voyez.
Comment les erreurs s’affichent
Section intitulée « Comment les erreurs s’affichent »- Toast : la plupart des erreurs apparaissent sous forme de toast en bas à droite. Les toasts d’erreur restent jusqu’à ce que vous les fermiez (le bouton ×, ou en les faisant glisser vers la droite). Les avertissements, comme un merge arrêté sur des conflits, se ferment tout seuls au bout de quelques secondes. Le toast d’une opération échouée porte son nom, par exemple « Fetch a échoué » ou « Push a échoué », avec le message en dessous.
- Panneau intégré : quand l’erreur concerne une boîte de dialogue ou un panneau, elle s’affiche à l’intérieur, et la boîte de dialogue reste ouverte pour que vous puissiez corriger la saisie. Exemples : la boîte de dialogue Ouvrir un dépôt, un onglet de dépôt qui n’a pas pu s’ouvrir (« Impossible d’ouvrir le dépôt », « Impossible d’ouvrir {name} »), la zone de commit.
- Bannière : certains états s’affichent plutôt dans une bannière au-dessus du graphe : un fichier de verrou Git, le rafraîchissement automatique indisponible, une opération en cours (voir Conflits).
- Boîte de dialogue : quelques erreurs ouvrent une boîte de dialogue dédiée, par exemple des modifications locales qui gênent un checkout, ou une annulation qui écraserait des modifications locales.
Chaque erreur peut comporter :
- Détails : une section repliée avec le texte technique brut, en général ce que Git a écrit sur stderr. Dépliez-la pour lire les mots exacts de Git ; sélectionnez le texte pour le copier.
- Un bouton d’action : la correction que yaggui peut lancer à votre place. Les libellés sont listés ci-dessous.
Une erreur qui n’est pas une erreur typée de yaggui (un bogue de l’interface) affiche un toast intitulé « Une erreur inattendue s’est produite », avec le texte technique sous Détails. Signalez-la, s’il vous plaît.
Boutons d’action
Section intitulée « Boutons d’action »| Bouton | Ce qu’il fait |
|---|---|
| Réessayer | Relance l’action qui a échoué. |
| Rafraîchir | Recharge les données (liste des fichiers, diff, branches) et relance l’action. |
| Ouvrir le journal | Ouvre le journal des commandes, passe son filtre sur Toutes si besoin, puis déplie et met en évidence la dernière commande en échec avec sa sortie complète. |
| Faire confiance au dossier… | Demande confirmation, puis exécute git config --global --add safe.directory <path> et rouvre le dépôt. Voir Le dépôt ne s’ouvre pas. |
| Supprimer le verrou… | Demande confirmation, puis supprime l’index.lock périmé. Voir Un autre processus Git utilise ce dépôt. |
| Installer Git | Explique comment installer Git 2.30 ou plus récent. |
| Renseigner mon identité | Ouvre le formulaire d’identité dans la zone de commit. |
| Choisir un terminal… | Ouvre le réglage du terminal. |
| Pull puis push | Fait un pull avec votre stratégie par défaut, puis pousse de nouveau. |
| Créer l’upstream et pousser | Pousse de nouveau et crée l’upstream, après confirmation. |
Un bouton n’apparaît que s’il a du sens là où l’erreur s’est produite : par exemple Réessayer a besoin d’une action à répéter.
Lire le catalogue
Section intitulée « Lire le catalogue »Les tableaux ci-dessous listent chaque message tel que yaggui l’affiche en français. Les parties entre accolades sont remplacées par la valeur concernée : {path} est un chemin de dossier ou de fichier, {name} un nom de branche, de tag ou de remote, {short} un hash de commit de 7 caractères. L’interface anglaise affiche les mêmes messages en anglais. La dernière colonne donne le code d’erreur interne, que vous pouvez citer dans un rapport de bogue.
yaggui reconnaît les erreurs propres à Git d’après leur texte anglais (il lance Git avec LC_ALL=C), donc la reconnaissance fonctionne quelle que soit la langue de votre système. Un échec de Git qui ne correspond à rien dans le catalogue affiche « La commande Git a échoué. » avec la sortie de Git sous Détails.
Dépôt et configuration
Section intitulée « Dépôt et configuration »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| Git est introuvable. Installe Git 2.30 ou plus récent puis relance yaggui. | yaggui n’a pas pu lancer le programme git : Git n’est pas installé, ou n’est pas dans le PATH. La barre d’état affiche « git introuvable ». |
Installez Git, ou indiquez son chemin dans Préférences → Git. Bouton : Installer Git. Voir Git introuvable. | gitNotFound |
| « {path} » n’est pas un Git utilisable : le fichier doit exister et répondre à –version. | Vous avez saisi dans Préférences → Git le chemin d’un binaire Git qui n’existe pas, n’est pas exécutable ou n’est pas Git. | Vérifiez le chemin. Rien n’a été enregistré. | gitBinaryInvalid |
| Le dossier {path} n’existe pas. | Vous avez ouvert un chemin qui n’existe pas, ou un dépôt connu a été déplacé ou supprimé. | Vérifiez le chemin. Pour un dépôt connu, utilisez Localiser… ou Retirer des récents dans l’onglet. | repoNotFound |
| {path} n’est pas un dépôt Git. | Le dossier n’est pas dans un dépôt Git. | Ouvrez le dossier du dépôt, ou initialisez-en un. | notARepository |
| Git refuse d’utiliser {path} car il appartient à un autre utilisateur. Ajoute-le à safe.directory seulement si tu lui fais confiance. | Le dossier appartient à un autre compte utilisateur, et la protection safe.directory de Git le refuse. |
Bouton : Faire confiance au dossier…, uniquement si vous faites confiance au dossier (ses hooks seront exécutés). | unsafeRepository |
| Un autre processus Git utilise ce dépôt (index.lock). Si aucun processus Git ne tourne, le verrou provient d’un crash et peut être supprimé. | .git/index.lock existe : un autre programme Git travaille, ou l’un d’eux a planté. |
Attendez l’autre programme. Si aucun ne tourne, bouton : Supprimer le verrou…. yaggui ne supprime qu’un verrou vieux de plus de 10 secondes ; un verrou plus récent est refusé avec le même message. La bannière au-dessus du graphe ne propose le bouton qu’une fois le verrou assez vieux. | indexLocked |
Un chemin est trop long pour Windows. Active les chemins longs avec git config --global core.longpaths true, puis recommence. |
Git pour Windows a atteint la limite de 260 caractères par chemin (« Filename too long »). | Exécutez la commande dans un terminal, puis recommencez. Bouton : Ouvrir le journal. | pathTooLong |
| Le dossier {path} existe déjà et n’est pas vide. Choisis un autre dossier, ou un dossier vide. | Le dossier cible du clone ou du worktree contient déjà des fichiers. | Choisissez un autre nom de dossier ou un dossier vide. | targetNotEmpty |
| {path} est déjà un dépôt Git. | Vous avez essayé d’initialiser un dépôt à l’intérieur d’un dépôt existant. | Ouvrez-le plutôt. | alreadyRepository |
| La branche « {name} » n’existe pas sur le serveur. (ou : La branche n’existe pas sur le serveur.) | La branche saisie dans la boîte de dialogue de clonage n’existe pas sur le remote. | Laissez la branche vide pour obtenir la branche par défaut, ou corrigez son nom. | remoteBranchNotFound |
| Les dépôts nus ne sont pas encore pris en charge. | Vous avez ouvert un dépôt nu (sans arbre de travail). | Ouvrez plutôt un clone classique. | invalidArgument |
| Chemin de dossier absolu attendu, reçu « {path} ». | Le chemin saisi dans une boîte de dialogue est relatif. | Saisissez le chemin complet, ou utilisez Parcourir…. | invalidArgument |
Arbre de travail et indexation
Section intitulée « Arbre de travail et indexation »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| {path} a changé depuis l’affichage de son diff. Rafraîchis puis refais la sélection. | Vous avez indexé, désindexé ou annulé des blocs ou des lignes d’un fichier modifié sur le disque après l’affichage du diff. La vue d’indexation affiche « Le fichier a changé » et rafraîchit le diff. | Sélectionnez de nouveau les lignes dans le diff rafraîchi. Bouton : Rafraîchir. | staleDiff |
| {path} a changé sur le disque depuis son ouverture. | Vous avez modifié un fichier dans le diff, et il a changé sur le disque avant votre enregistrement. L’éditeur affiche « {path} a changé sur le disque pendant que tu le modifiais. » | Utilisez Recharger depuis le disque, puis refaites votre modification. Rien n’a été écrasé. | fileChanged |
| « {path} » ne peut pas être modifié ici : ce n’est pas du texte UTF-8. (autres cas : il a été supprimé, ce n’est pas un fichier ordinaire, il est stocké avec Git LFS, il est trop gros, il est binaire, il mélange les fins de ligne LF et CRLF) | Vous avez essayé de modifier dans le diff un fichier que yaggui ne peut pas modifier sans risque. | Modifiez-le dans votre éditeur. | invalidArgument |
| Impossible de stager ou d’annuler des lignes quand les espaces sont ignorés. | Vous avez tenté d’indexer des lignes alors que le diff masque les changements d’espaces. | Désactivez l’option des espaces dans le diff. | invalidArgument |
| Rien à mettre de côté : tu n’as aucune modification locale. | Vous avez fait un stash avec un arbre de travail propre. | Rien à faire. | nothingToStash |
| Le stash entre en conflit avec tes fichiers. Résous les conflits ; le stash est conservé, supprime-le quand tu as fini. | L’application d’un stash (apply ou pop) a produit des conflits. La boîte de dialogue Le stash est en conflit liste les fichiers. | Résolvez les fichiers, puis supprimez le stash vous-même. Voir Stash. | stashConflict |
| Le checkout est fait, mais tes modifications mises de côté entrent en conflit avec cette branche. Résous les conflits ; le stash est conservé, supprime-le quand tu as fini. | Vous avez choisi Mettre de côté, basculer, puis restaurer et la restauration a produit des conflits. | Comme ci-dessus. | stashConflict |
| Git LFS n’est pas installé : les gros fichiers restent des pointeurs. Installe Git LFS (git-lfs.com), puis lance git lfs install. | Le dépôt utilise Git LFS et la commande git lfs est absente. |
Installez Git LFS, lancez git lfs install. Voir Git LFS. |
lfsNotInstalled |
| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| Rien à commiter : stage d’abord des modifications. | Vous avez commité sans rien d’indexé (et sans modifier le commit précédent). | Indexez d’abord des modifications. Pendant un merge squash, le toast « Le squash n’apporte aucun changement » signifie que la branche est déjà mergée : annulez le merge. | nothingToCommit |
| Git ne sait pas qui tu es : renseigne ton nom et ton e-mail (user.name, user.email) pour commiter. | user.name ou user.email n’est pas configuré. Dans la zone de commit, le formulaire Qui es-tu ? s’ouvre à la place d’un toast. |
Remplissez le formulaire et cliquez sur Enregistrer et commiter. Ailleurs, bouton : Renseigner mon identité. | identityUnknown |
| Le hook {name} a refusé le commit. Sa sortie explique pourquoi. (ou : Un hook Git a refusé le commit. Sa sortie explique pourquoi.) | Un hook pre-commit, prepare-commit-msg ou commit-msg a échoué. La zone de commit affiche la sortie du hook. |
Corrigez ce que le hook signale et commitez de nouveau. Voir Un hook refuse le commit. | hookFailed |
| La clé de signature demande sa phrase de passe et aucun agent ne l’a fournie. yaggui ne la demande jamais : déverrouille la clé dans gpg-agent ou ssh-agent (ssh-add), ou commite depuis un terminal. | La signature des commits est activée (commit.gpgsign) et la clé est verrouillée. |
Déverrouillez la clé dans votre agent, puis commitez de nouveau. Bouton : Ouvrir le journal. | signingFailed |
| Git n’a pas pu signer le commit. Vérifie la clé de signature (user.signingkey, gpg.format) ou désactive la signature (commit.gpgsign). | La signature a échoué pour une autre raison (pas de clé, mauvais format, programme de signature absent). | Vérifiez les réglages de signature dans la configuration Git. Bouton : Ouvrir le journal. | signingFailed |
| Il n’y a pas encore de commit à modifier. | Vous avez coché Modifier le commit précédent dans un dépôt sans commit. | Faites d’abord un premier commit normal. | invalidArgument |
| Le résumé du commit est vide. | Vous avez commité sans ligne de résumé. | Saisissez un résumé. | invalidArgument |
Branches et références
Section intitulée « Branches et références »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
« {name} » n’est pas un nom de branche valide : pas d’espace, ni ~ ^ : ? * [ \, ni « .. », et il ne peut pas commencer par « - » ni finir par « / », « . » ou « .lock ». |
Le nom est refusé par git check-ref-format. Le même message dit « nom de tag » pour les tags. Affiché sous le champ du nom. |
Changez le nom. | invalidRefName |
| Une branche « {name} » existe déjà. (ou : Un tag « {name} » existe déjà.) | Le nom est pris. Affiché sous le champ du nom. | Choisissez un autre nom. | refExists |
| Tu as des modifications locales. Mets-les de côté (stash) ou emporte-les sur l’autre branche. | Un checkout rencontre des modifications locales. La boîte de dialogue Des modifications locales bloquent {name} s’ouvre. | Choisissez Mettre de côté, basculer, puis restaurer ou Emporter les modifications. Voir Branches. | dirtyWorktree |
| Tes modifications locales seraient écrasées par le checkout. Mets-les d’abord de côté (stash, checkout puis pop). | Même cas, mais les modifications ne peuvent pas être emportées. | Choisissez Mettre de côté, basculer, puis restaurer. | dirtyWorktree |
| La branche « {name} » n’est pas entièrement mergée : la supprimer peut perdre des commits. Force la suppression seulement si tu n’en as plus besoin. | git branch -d refuserait la suppression. |
Dans la boîte de dialogue de suppression, cliquez sur Supprimer quand même (exécute git branch -D) si vous n’avez plus besoin des commits. |
branchNotMerged |
| « {name} » est la branche courante : fais d’abord un checkout d’une autre branche pour la supprimer. | Vous avez essayé de supprimer la branche extraite. | Faites d’abord un checkout d’une autre branche. | currentBranch |
| « {name} » est une branche protégée : le nettoyage ne la supprime jamais. Supprime-la seule si c’est vraiment voulu. | Un nettoyage de branches en lot incluait une branche protégée. | Supprimez-la individuellement si c’est voulu. | protectedBranchDelete |
| « {name} » est extraite dans un worktree : elle ne peut pas être supprimée. | Une suppression en lot incluait une branche utilisée par un worktree. | Supprimez ou changez d’abord le worktree. | branchCheckedOut |
| La branche « {name} » est extraite dans le worktree {path} : ouvre ce worktree, ou extrais une autre branche ici. (ou : La branche « {name} » est extraite dans un autre worktree.) | Git refuse d’extraire la même branche dans deux worktrees. | Ouvrez ce worktree, ou choisissez une autre branche. | branchInOtherWorktree |
| Les branches ou les stashes ont changé entre-temps. Rafraîchis puis réessaie. | La liste des branches ou des stashes a changé (par exemple depuis un terminal) après que yaggui l’a listée. La liste affiche « La liste a changé ». | Vérifiez la liste rafraîchie et réessayez. Bouton : Rafraîchir. | staleRefs |
| HEAD est détaché (aucune branche courante) : fais d’abord un checkout d’une branche. | L’opération a besoin d’une branche courante (push, pull, rebase interactif). | Faites un checkout d’une branche. | detachedHead |
| Aucun commit ne correspond à « {rev} ». | Un hash de commit, une branche ou une révision que vous avez saisi n’existe pas. | Vérifiez l’orthographe, ou faites d’abord un fetch. | revisionNotFound |
| Le worktree {path} a des modifications locales : le supprimer les perdrait. | git worktree remove a refusé à cause de modifications locales. La boîte de dialogue affiche Ce worktree a des modifications locales. |
Commitez-les dans le worktree, ou utilisez Supprimer quand même et perdre ces modifications. | worktreeDirty |
| Le worktree {path} est verrouillé. Déverrouille-le (git worktree unlock) avant de le supprimer. | Le worktree est verrouillé. | Exécutez git worktree unlock <path> dans un terminal. |
worktreeLocked |
Opérations d’historique et conflits
Section intitulée « Opérations d’historique et conflits »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| Le merge s’est arrêté sur des conflits. Résous-les puis continue pour créer le commit de merge (ou annule le merge). | Un merge a laissé des conflits. Un toast d’avertissement affiche « {count} fichiers en conflit » avec Voir les conflits, et la bannière d’opération apparaît au-dessus du graphe. | Résolvez les fichiers, puis Continuer ou Annuler le merge. Voir Conflits. | conflicts |
| Le rebase s’est arrêté sur des conflits. Résous-les puis continue (ou passe ce commit, ou annule le rebase). | Un rebase a laissé des conflits. | Résolvez, puis Continuer, Passer ou Annuler le rebase. | conflicts |
| Le cherry-pick s’est arrêté sur des conflits. Résous-les puis continue (ou passe ce commit, ou annule). | Un cherry-pick a laissé des conflits. | Résolvez, puis continuez, passez ou annulez. | conflicts |
| Le revert s’est arrêté sur des conflits. Résous-les puis continue (ou annule). | Un revert a laissé des conflits. | Résolvez, puis continuez ou annulez. | conflicts |
| Le pull s’est arrêté sur des conflits : le merge est en cours. Résous-les puis continue pour créer le commit de merge (ou annule le merge). | Un pull avec merge a laissé des conflits. | Comme pour un merge. | conflicts |
| Le pull s’est arrêté sur des conflits : le rebase est en cours. Résous-les puis continue (ou passe ce commit, ou annule le rebase). | Un pull avec rebase a laissé des conflits. | Comme pour un rebase. | conflicts |
| Des fichiers sont encore en conflit : résous-les (et stage-les) d’abord. | Vous avez continué ou commité avec des fichiers non résolus. | Résolvez et indexez chaque fichier en conflit. Bouton : Voir les conflits. | unresolvedConflicts |
| Tes modifications locales seraient écrasées par {le merge, le rebase, le cherry-pick, le revert ou le reset}. Commite-les ou mets-les de côté (stash) d’abord. | Des modifications locales gênent l’opération. Le toast liste les premiers fichiers. | Commitez-les ou mettez-les de côté, puis réessayez. Bouton : Voir les changements. | dirtyWorktree |
| Une autre opération (merge, rebase, cherry-pick, revert ou bisect) est en cours : continue-la ou annule-la d’abord. | Vous avez lancé une opération alors qu’une autre n’est pas terminée. | Continuez-la, passez-la ou annulez-la depuis la bannière au-dessus du graphe. | operationInProgress |
| Aucun merge, rebase, cherry-pick ni revert n’est en cours. | Vous avez cliqué sur Continuer, Passer ou Annuler alors que l’opération était déjà terminée (par exemple dans un terminal). | Rien à faire. | noOperation |
| {short} est un commit de merge : choisis le parent dont le côté est conservé. | Vous avez fait un cherry-pick ou un revert d’un commit de merge. | Choisissez le parent dans la boîte de dialogue qui s’ouvre. Voir Cherry-pick, revert et reset. | mainlineRequired |
| {short} n’apporte plus aucune modification (il est sans doute déjà appliqué) : passe-le. (ou : Ce commit n’apporte plus aucune modification…) | Le commit appliqué est déjà dans la branche. | Bouton : Passer. | emptyCommit |
| Les branches ont divergé : impossible d’avancer rapidement (fast-forward) vers « {name} ». Fais un merge avec commit de merge, ou un rebase. | Vous avez demandé un merge en fast-forward uniquement entre des branches divergentes. | Bouton : Merger à la place…, ou faites un rebase. | notFastForward |
| Les commits à rebaser contiennent des merges : yaggui ne les reconstruit pas. Choisis une base après le dernier merge. | Un rebase interactif porte sur une plage qui contient des commits de merge. | Choisissez une base plus récente. Voir Rebase interactif. | invalidArgument |
| Plus de 200 commits à rebaser : choisis une base plus récente. | La plage du rebase interactif est trop longue. | Choisissez une base plus récente. | invalidArgument |
| Aucun outil de merge externe n’est configuré : renseigne merge.tool dans ta configuration Git. | Vous avez demandé l’outil de merge externe alors que merge.tool n’est pas défini. |
Définissez-le dans les outils externes. | mergeToolMissing |
| L’outil de merge « {tool} » n’a pas pu être lancé. Vérifie qu’il est installé et configuré (mergetool.{tool}.cmd). | L’outil de merge configuré ne s’est pas lancé. | Installez-le, ou corrigez sa configuration. | mergeToolFailed |
| Aucun outil de diff externe n’est configuré : choisis-en un dans les préférences (Outils) ou renseigne diff.tool dans ta configuration Git. | Vous avez demandé l’outil de diff externe alors qu’aucun n’est configuré. | Choisissez-en un dans Préférences → Outils. | diffToolMissing |
| L’outil de diff « {tool} » n’a pas pu être lancé. Vérifie qu’il est installé et configuré (difftool.{tool}.cmd). | L’outil de diff configuré ne s’est pas lancé. | Installez-le, ou corrigez sa configuration. Bouton : Ouvrir le journal. | diffToolFailed |
Annuler et rétablir
Section intitulée « Annuler et rétablir »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| Rien à annuler dans cette session. | L’historique d’annulation est vide. | Rien à faire. | nothingToUndo |
| Rien à rétablir. | Aucune opération annulée, ou une nouvelle opération a été exécutée depuis. | Rien à faire. | nothingToRedo |
| Cette opération a modifié un remote : elle ne peut pas être annulée localement. | Vous avez essayé d’annuler un push ou une autre modification d’un remote. Titre du toast : « Annulation impossible ». | Faites un revert ou un force push à la main si vous en avez vraiment besoin. Voir Annuler et rétablir. | undoBlocked |
| Un fetch avec prune ne peut pas être annulé : les branches distantes supprimées reviennent au prochain fetch si elles existent encore. | Vous avez essayé d’annuler un fetch avec prune. | Rien à faire. | undoBlocked |
| Un pull ne peut pas être annulé : ce qu’il a récupéré reste. Fais plutôt un reset de la branche si besoin. | Vous avez essayé d’annuler un pull. | Faites un reset de la branche. | undoBlocked |
| Cette opération a téléchargé et extrait du contenu (fichiers LFS, commits de submodules) : elle ne peut pas être annulée. | Vous avez essayé d’annuler un pull LFS ou une mise à jour de submodule. | Rien à faire. | undoBlocked |
| Le worktree a été supprimé avec ses modifications locales : elles ne peuvent pas être restaurées. | Vous avez essayé d’annuler une suppression forcée de worktree. | Rien à faire. | undoBlocked |
| L’état d’avant cette opération n’a pas pu être enregistré : elle ne peut pas être annulée. | yaggui n’a pas pu prendre son instantané avant l’opération. | Rien à faire. | undoBlocked |
| Le dépôt a changé depuis cette opération (branches ou fichiers modifiés ailleurs) : l’annuler perdrait ce changement. | Quelque chose a changé après l’opération, en dehors de l’historique de yaggui. La boîte de dialogue Annulation impossible : le dépôt a changé depuis liste ce qui a bougé. | Rien n’a été touché. Bouton : Rafraîchir. | undoDiverged |
| Tes modifications locales seraient écrasées. Commite-les ou mets-les de côté (stash) d’abord. | Annuler ou rétablir écraserait des modifications locales. La boîte de dialogue Des modifications locales gênent s’ouvre. | Cliquez sur Mettre de côté et réessayer, puis restaurez le stash ensuite. | undoWouldOverwrite |
Remotes et réseau
Section intitulée « Remotes et réseau »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| Push rejeté : la branche distante contient des commits que tu n’as pas. | La branche distante a avancé par rapport à la vôtre. | Bouton : Pull puis push. Voir Fetch, pull et push. | pushRejected |
| Force push refusé : la branche distante a bougé depuis ton dernier fetch. Fais un fetch et vérifie ce qui serait écrasé. | --force-with-lease a refusé parce que quelqu’un a poussé entre-temps. |
Faites un fetch, regardez les nouveaux commits, puis décidez. | staleLease |
| « {name} » est une branche protégée : le force push est refusé. | Vous avez fait un force push sur une branche listée dans Branches protégées (Préférences → Comportement). | Poussez normalement, ou changez la préférence. | protectedBranch |
| Authentification SSH refusée. Charge ta clé dans ssh-agent (ssh-add) et vérifie que le remote la connaît. | Le serveur SSH a refusé votre clé, la clé n’est pas chargée dans l’agent, ou la clé de l’hôte est inconnue. | Exécutez ssh-add, ou ssh -T git@<host> une fois dans un terminal pour accepter la clé de l’hôte. Pas de bouton. Voir Authentification. |
authFailed |
| Authentification refusée. yaggui ne demande jamais de mot de passe : configure un credential helper Git (git config credential.helper) et connecte-toi une fois depuis un terminal. | Un remote HTTPS demande des identifiants qu’aucun helper n’a fournis, ou les a refusés (401, 403). | Configurez un credential helper et connectez-vous une fois depuis un terminal. Pas de bouton. Voir Authentification. | authFailed |
| Remote introuvable : vérifie son nom et son URL. | Le remote n’existe pas, ou il n’y a pas de dépôt à son URL (404). | Vérifiez l’URL dans Remotes. | remoteNotFound |
| L’hôte distant est injoignable. Vérifie ta connexion et l’URL du remote. | Échec DNS, connexion refusée ou expirée. | Vérifiez votre réseau ou votre VPN. Bouton : Réessayer. | hostUnreachable |
| « {name} » n’a pas de branche amont (upstream). | Vous avez fait un pull ou un push d’une branche sans upstream. Au push, yaggui demande plutôt Publier la branche ?. | Cliquez sur Publier, ou bouton : Créer l’upstream et pousser. | noUpstream |
| Ta branche et son upstream ont divergé : impossible d’avancer en fast-forward. Fais un pull en merge ou en rebase. | Un pull en fast-forward uniquement a rencontré des branches divergentes. | Choisissez Merge ou Rebase dans le menu du pull. Pas de bouton. | notFastForward |
| Le remote a refusé le tag {name} : un tag de ce nom y existe déjà et pointe vers un autre commit. Supprime d’abord le tag distant, ou renomme le tien. | Push d’un tag qui existe sur le remote avec une autre cible. | Supprimez le tag distant ou renommez le vôtre. Voir Tags. Bouton : Ouvrir le journal. | tagRejected |
| Le remote a refusé les tags {names} : des tags de ces noms y existent déjà et pointent vers d’autres commits. Les autres tags ont été poussés. | Même cas, pour plusieurs tags. | Pareil. Bouton : Ouvrir le journal. | tagRejected |
| Le remote a refusé le tag {name} (règle du serveur ou hook). Le journal des commandes montre sa réponse. | Un hook ou une règle du serveur a refusé le tag. | Lisez la réponse du serveur. Bouton : Ouvrir le journal. | tagRejected |
| Un remote nommé « {name} » existe déjà. | Ajout ou renommage d’un remote vers un nom déjà pris. Affiché sous le champ du nom. | Choisissez un autre nom. | remoteExists |
« {name} » n’est pas un nom de remote valide : pas d’espace, pas de tiret au début, aucun de ~ ^ : ? * [ \. |
Le nom du remote est refusé par Git. Affiché sous le champ du nom. | Changez le nom. | invalidRemoteName |
| L’URL du remote est vide. | Vous avez enregistré un remote sans URL. | Saisissez une URL. | invalidArgument |
Outils et système
Section intitulée « Outils et système »| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| Le terminal « {name} » n’a pas pu être lancé. Vérifie son nom dans le réglage du terminal. | Le terminal externe configuré ne s’est pas lancé. | Bouton : Choisir un terminal…. Voir Terminal. | terminalNotFound |
| Aucun terminal n’a été trouvé sur ce système. Choisis celui à utiliser dans le réglage du terminal. | Aucun terminal connu n’a été trouvé. | Bouton : Choisir un terminal…. | terminalNotFound |
| Le shell « {shell} » n’a pas pu être lancé dans le terminal intégré. | Le terminal intégré n’a pas pu lancer votre shell. Le panneau affiche « Le terminal n’a pas pu démarrer ». | Vérifiez votre shell. Détails contient l’erreur système. | shellFailed |
| Ce terminal est fermé : ouvres-en un nouveau. | La session du terminal intégré est terminée. | Ouvrez un nouveau terminal. | terminalClosed |
| L’éditeur « {name} » n’a pas pu être lancé. Vérifie son nom dans les préférences. | L’éditeur configuré ne s’est pas lancé. | Corrigez-le dans les outils externes. | editorNotFound |
| Aucune application n’a pu ouvrir le fichier. Choisis un éditeur dans les préférences. | Aucun éditeur n’est configuré et le système n’a pas d’application par défaut pour ce fichier. | Choisissez un éditeur dans Préférences → Outils. | editorNotFound |
| Le gestionnaire de fichiers n’a pas pu ouvrir le dossier du dépôt. | L’ouverture du dossier du dépôt dans le gestionnaire de fichiers a échoué. | Ouvrez le dossier à la main. | fileManagerFailed |
| Le rafraîchissement automatique est indisponible pour ce dépôt (la limite système de fichiers surveillés est peut-être atteinte). Les changements faits hors de yaggui apparaîtront après un rafraîchissement manuel. | yaggui n’a pas pu surveiller le dossier du dépôt. Affiché dans la bannière Rafraîchissement automatique indisponible. | Cliquez sur Actualiser après des changements extérieurs. Sous Linux, augmentez la limite inotify. | watchUnavailable |
| Impossible de vérifier les mises à jour. | La vérification n’a pas pu lire la dernière version publiée (hors ligne, GitHub injoignable). | Réessayez plus tard. Pas de bouton. Voir Mises à jour. | updateCheckFailed |
| La mise à jour n’a pas pu être installée. | Le téléchargement, la vérification ou l’installation de la mise à jour a échoué. Détails donne la raison. | Bouton : Réessayer, ou téléchargez la version à la main. | updateInstallFailed |
| L’avatar n’a pas pu être téléchargé. | Une image Gravatar n’a pas pu être récupérée. Pas affiché comme toast : les initiales de l’auteur restent. | Rien à faire. | avatarUnavailable |
Fonctionnement interne de yaggui
Section intitulée « Fonctionnement interne de yaggui »Ces messages signalent un bogue ou une installation locale cassée plutôt qu’un problème Git. S’il en apparaît un, signalez-le avec le contenu de Détails.
| Message | Quand cela arrive | Que faire | Code |
|---|---|---|---|
| La commande Git a échoué. | Git a échoué avec une erreur que yaggui ne reconnaît pas. Détails contient la sortie de Git. | Lisez la sortie. Bouton : Ouvrir le journal. | gitFailed |
| Erreur inattendue. | Un échec interne (système de fichiers, lecture du dépôt). Détails contient la cause. | Réessayez ; signalez-le si cela persiste. | internal |
| yaggui n’a pas pu lire ou écrire ses données locales. | La base de réglages ou keybindings.json n’a pas pu être lue ou écrite. |
Vérifiez les permissions et l’espace libre du dossier de données. | storage |
| Opération annulée. | Vous avez annulé une opération. Affiché en général sous la forme « {op} annulé ». | Rien à faire. | cancelled |
| Le dépôt n°{id} n’est pas ouvert. | L’onglet du dépôt a été fermé pendant qu’une action était en cours. | Rouvrez le dépôt. | repoNotOpen |
| L’opération n°{id} n’est pas en cours. | Vous avez annulé une opération déjà terminée. | Rien à faire. | opNotFound |
| Pas encore implémenté. | Une commande n’a pas d’implémentation dans cette version. | Signalez-le. | notImplemented |
Les autres messages de validation (code invalidArgument) apparaissent sous le champ que vous avez rempli, par exemple « Le message du stash est vide. » ou « La profondeur doit être comprise entre 1 et … ». Ils décrivent eux-mêmes la correction.