这条消息
Cloning into 'sub-mod'...
done.
在运行
git submodule add...
命令后,我期望信息会被写入stdout而不是stderr,因为我认为这并不表示命令出现了问题。以下是一系列可重现此问题的命令:rm -rf /tmp/repo /tmp/module
mkdir /tmp/repo /tmp/module
cd /tmp/module
git init > /dev/null
echo "foo" > foo;
git add foo > /dev/null
git commit . -m "+ foo" > /dev/null
cd /tmp/repo
git init > /dev/null
git submodule add /tmp/module/ sub-mod 1> /dev/null
如果我将最后一个命令中的重定向改为
... 2> /dev/null
,就不会打印任何内容。
git status
的--porcelain
标志来处理,而不是滥用 stderr。但这可能只是我的个人偏好。 - aleclarson--porcelain
选项。 - VonC