xargs
gitコマンドを再帰的に呼び出す関数があります。
今すぐ電話をかけると、gitr log
最後までEnterを押すか、xargs
次の通話を実行するにはqを押す必要があります。
xargs
ユーザー入力をスキップするか、すべてを一度に出力するように指示できますかless
?
答え1
実行せずにすべてをダンプするには、git
このオプションを使用して呼び出すことができます。次は--no-pager
less
マニュアルページ:
--呼出し機なし
git出力をポケットベルにパイプしないでください。
答え2
標準入力、標準出力、またはその両方をリダイレクトしてみてください。
たとえば、
gitr log < /dev/null | cat
答え3
メッセージを表示するのはxargsではなく、それよりも少ないです。 lessはxargsではなくgitによって呼び出されます。
gitへの各呼び出しは一度に1つのリポジトリで機能するため、複数のリポジトリで作業するには、gitにポケットベルを呼び出さないように指示する必要があります。ただし、手動でポケットベルを呼び出すこともできます。
これは、gitがポケットベルを呼び出さずに対話的に呼び出すときにすべてのgit呼び出しの出力に対してポケットベルを呼び出すようにするテストされていない概念証明コードです。あなたのコードはrun_git
アクセシビリティに入ります。
gitr () {
if [ -t 1 ]; then
run_git \
-ccolor.branch=always "$@" -ccolor.grep=always -ccolor.showbranch=always -ccolor.status=always \
| ${GIT_PAGER:-less -r}
else
run_git "$@"
fi
}