Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
541 views
in Technique[技术] by (71.8m points)

How can I run git push/pull commands with SSH verbose mode?

If I run "git push" with the GIT_TRACE=2 environment variable, I get the following:

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''''

Which is great except sometimes I get this error:

fatal: Could not read from remote repository.

I only get it intermittently so I'm not sure what's going on. I know ssh has a verbose mode:

 -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.

It would be great if I could get git to run that ssh command with -vvv turned on. Is there a way to enable this with environment variables or with config settings?

Question&Answers:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

From Git version 2.3.0, you can use the environment variable GIT_SSH_COMMAND and pass the -v verbose argument like this:

GIT_SSH_COMMAND="ssh -v" git clone <REPO_SSH>

you can also pass -vvv for even more verbose level:

GIT_SSH_COMMAND="ssh -vvv" git clone <REPO_SSH>

(as seen here https://askubuntu.com/a/620985/975188)

note that you can also run this with other git commands, such as git push, git fetch etc.

From Git version 2.10.0, you can even configure this per repo or globally:

git config core.sshCommand "ssh -v"
git pull
git push

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...