web-dev-qa-db-fra.com

Comment puis-je exécuter les commandes git Push / Pull avec le mode verbeux SSH?

Si je lance "git Push" avec la variable d'environnement GIT_TRACE = 2, j'obtiens ce qui suit:

09:25:28.098743 git.c:349               trace: built-in: git 'Push' 'Origin' 'master'
09:25:28.100261 run-command.c:341       trace: run_command: 'ssh' '[email protected]' 'git-receive-pack '\''kevinburke/letter.git'\'''

Ce qui est génial sauf que parfois j'obtiens cette erreur:

fatal: Could not read from remote repository.

Je ne l'obtiens que par intermittence, donc je ne suis pas sûr de ce qui se passe. Je sais que ssh a un mode détaillé:

 -v      Verbose mode. Causes ssh to print debugging messages about its progress. 
         This is helpful in debugging connection, authentication, and configuration
         problems.  Multiple -v options increase the verbosity.  The maximum is 3.

Ce serait génial si je pouvais obtenir git pour exécuter cette commande ssh avec -vvv allumé. Existe-t-il un moyen d'activer cela avec des variables d'environnement ou avec des paramètres de configuration?

42
Kevin Burke

Mettez ceci dans votre fichier ~/.ssh/config:

Host <git-server-FQDN> LogLevel (QUIET|FATAL|ERROR|INFO|VERBOSE|DEBUG|DEBUG1|DEBUG2|DEBUG3)

Les commandes git suivantes qui interagissent avec le serveur devraient produire la sortie de débogage souhaitée.

37
goddardcm

Depuis Git version 2.3.0, vous pouvez utiliser la variable d'environnement GIT_SSH_COMMAND et passez le -v argument verbeux comme celui-ci:

GIT_SSH_COMMAND="ssh -v" git clone example

Depuis Git version 2.10.0, vous pouvez même configurer cela par repo ou globalement:

git config core.sshCommand "ssh -v"
git pull
git Push
54
Flimm