我正在使用此命令在我的 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
才能使终端恢复正常。为什么会出现这种情况?我该如何解决它?
注意:它可能无法在您的存储库中重复。我还没想明白。
该问题的最佳答案有一个提示:编辑。 Git 使用寻呼机,它有点像编辑器,所以如果禁用它,问题就会消失。
... git --no-pager grep -I ...
如果你的输出很长并且你想添加回寻呼机,你可以手动完成,例如:
... git --no-pager grep -I ... | less