Git Grep 有时会使终端停止显示键入的命令

问题描述 投票:0回答:1

我正在使用此命令在我的 Git 存储库的所有分支中搜索单词

STATIC_ASSERT
,我从这里修改了

time git branch -a --color=never | sed -e 's/[ \*]*//' \ | grep -v -e '\->' -e '^remotes' \ | xargs -n 1 -P "$(nproc)" git grep -I "STATIC_ASSERT"
如果我删除 

-P "$(nproc)"

 那么它可以正常工作,但需要 1.8 秒。

如果我将其添加回来,我会得到完全相同的输出,但它并行使用多个进程,并且只需要 0.4 秒!但是,然后我遇到了

这个问题,终端停止显示键入的命令,我必须按照我的说明Ctrl+C并输入reset

才能使终端恢复正常。

为什么会出现这种情况?我该如何解决它?

注意:它可能无法在您的存储库中重复。我还没想明白。

linux git terminal grep
1个回答
0
投票

该问题的最佳答案有一个提示:编辑。 Git 使用寻呼机,它有点像编辑器,所以如果禁用它,问题就会消失。

... git --no-pager grep -I ...
如果你的输出很长并且你想添加回寻呼机,你可以手动完成,例如:

... git --no-pager grep -I ... | less
    
© www.soinside.com 2019 - 2024. All rights reserved.