如何从 git 中 grep 输出?

如何从 git 中 grep 输出?

我正在尝试提取 git 创建的文件夹的名称。输出显示:

...
Cloning into 'repository-name'...
...

我想将此输出通过管道传输到 grep 中以提取显示 的一行Cloning into 'repository-name'。但是,当我运行时git clone https://github.com/username/repository-name.git | grep "Cloning into",git 似乎绕过 grep 并将输出直接打印到屏幕,因为我得到了完整的 git 输出消息,没有 grep 突出显示。将 --no-pager 标志发送到 git 没有帮助。

答案1

git-clone手册页:

--progress
当附加到终端时,默认情况下在标准错误流上报告进度状态,除非指定了 --quiet。即使标准错误流未定向到终端,此标志也会强制执行进度状态。

所以我们必须做标准描述符的重定向作为 git-clone 在标准错误流上的输出。

这可能会做

git clone https://github.com/username/repository-name.git --progress 2>&1 | grep "Cloning into"

相关内容