重定向
A little understanding of how *nix pipes work would help.
In short the '>>' pipe operator will append lines to the end of the specified file,
where-as the single greater than '>' will empty and overwrite the file.
>清空文件,再写入
>>追加
How to get git producing output to a file?
Thanks for your help!
I just have found the solution:
Part 1
(Thanks to the answer of dessert)git
by design does never write to stdout
but stderr
. So I needed to redirect stderr
, too, in order to get the output using
git clone XYZ &> git_clone.file
Part 2
Anyway this wasn't enough and I only received the "uninteresting" part of the output to the file but not the lines of the progress I really wanted.
Doing further reserach again in man git-clone
I realized there exists an option
--progress
progress status is reported on the standard error stream by
default when it is attached to a terminal, unless -q is
specified. This flag forces progress status even if the standard
error stream is not directed to a terminal.
Though I'ld think it actually was already attached to a terminal, this now seems to force git to write the lines of the progress part I'm most interested in finally to stderr
as well so I can now get them using
git clone --progress XYZ &> git_clone.file
自己使用的命令
ssh -o SendEnv=GIT_PROTOCOL git@github.com -v -v -v -v &> ssh-debug.log