Résolution des problèmes
HTTPS
Erreur « Permission denied (publickey) » lors de la connexion à un référentiel distant à l'aide du protocole SSH
Procédez d'abord aux vérifications suivantes:
- L'URL est-elle correcte?
- La clé secrète est-elle correctement configurée sur l'ordinateur local?
- La clé publique est-elle correctement configurée dans le référentiel distant?
Vous pouvez vérifier la configuration de la clé publique/secrète correspondant au référentiel distant Backlog en exécutant la commande suivante:
$ ssh <space>@<space>.git.backlog.com
Remplacez <space>
par un espace Backlog qui vous appartient (par exemple, pour l'espace demo.backlog.com
, utilisez demo@demo.git.backlog.com
)
Si le paramètre est correct, l'écran suivant s'affiche. Si vous obtenez un message d'erreur, reprenez les étapes ci-dessus et assurez-vous que toutes les informations sont correctes.
Hi yourname! You've successfully authenticated, but Backlog does not provide
shell access.
Connection to git.backlog.com closed.
Impossible de cloner un référentiel distant via son URL HTTPS
Sur les versions les plus anciennes de Git, vous pouvez parfois rencontrer des problèmes lors de l'exécution d'une commande push ou pull. Nous vous recommandons d'utiliser la dernière version de Git ou une version supérieure à la v2. Si vous utilisez un client Git tel que Source Tree ou TortoiseGit, utilisez la version Git fournie avec le client correspondant.
Mon mot de passe m'est demandé chaque fois que j'effectue une opération push/pull à partir du référentiel distant
Pour éviter d'avoir à saisir plusieurs fois votre mot de passe, optez pour la configuration suivante.
Windows
Vous pouvez utiliser git-credential-winstore, qui ne vous demandera votre mot de passe que pour la première opération push/pull.
Macintosh
Vous pouvez utiliser Sourcetree (abordé dans le chapitre précédent) pour créer une liaison avec le trousseau d'accès Mac. Git est ainsi en mesure de déterminer les informations d'identification à utiliser à chaque fois que vous effectuez une opération push ou pull.
Console
Sur Macintosh, vous pouvez utiliser l'API d'informations d'identification de Git pour associer un nom d'utilisateur/mot de passe aux opérations de Git. Si vous utilisez Homebrew, l'API d'informations d'identification de Git est installée automatiquement. Dans le cas contraire, vous devez l'installer manuellement.
Vous pouvez vérifier si l'API d'informations d'identification est installée avec la commande ci-dessous.
$ git credential-osxkeychain
Usage: git credential-osxkeychain <get|store|erase>
Si l'API d'informations d'identification n'est pas installée, le message suivant s'affiche.
$ git credential-osxkeychain
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
Dans ce cas, vous pouvez le télécharger et déplacer les fichiers vers /usr/local/bin.
$ curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
$ chmod u+x git-credential-osxkeychain
$ mv git-credential-osxkeychain /usr/local/bin
L'installation terminée, exécutez la commande ci-dessous pour activer l'API d'informations d'identification.
git config --global credential.helper osxkeychain
Les modifications transférées vers le référentiel distant n'y sont pas prises en compte
Vous pouvez rencontrer le message ci-dessous lors de l'exécution d'une opération push. Il s'affiche généralement lorsque vous effectuez un transfert à partir d'un nouveau référentiel local.
$ git push
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'main'.
Everything up-to-date
Si vous omettez le nom de la branche lors de l'exécution d'une opération push, Git suppose par défaut que vous essayez de transférer la modification en cours vers une branche distante portant le même nom que la branche locale. Cela se produit si la branche principale n'a pas encore été créée dans le référentiel distant (l'opération push est effectuée à partir de la branche principale locale). Dans ce cas, le nom de la branche doit être explicitement utilisé lors de l’exécution d'une opération push.
$ git push -u origin main
Si vous procédez ainsi, la branche principale est automatiquement créée dans le référentiel distant. Lors de l'opération push suivante, vous pourrez omettre le nom de la branche.