git fetch
命令的输出从以下cmd重定向到“test1
”文件:
manish@rigved:~$ git fetch --all --prune > test1
From https://github.com/Beawel/wwwnew
x [deleted] (none) -> origin/test
问题:但输出中显示的“x [deleted] ...
”行未重定向到test1,为什么?请建议。
为什么git命令会在stderr上打印 not 错误消息?
manish@rigved:~$ cat test1
Fetching origin
答案 0 :(得分:3)
除了stdout之外,还需要重定向stderr。
git fetch --all --prune > test1 2>&1
更重要的是,为什么 git命令会在stderr而不是stdout上发出信息?
这是特定于git(并且不是是有充分记录的stderr重定向的副本)。
正如我explained here:
这与Git中其他进展报告一致 将stdout的输出重新发送到stderr,因为它只是信息性消息,不会被机器消耗。
你会发现stdout git命令输出可能被链式管道序列中的其他命令使用。
任何其他消息(不应由其他命令使用)将重定向到stderr。