"git show"는 파이프를 통해 색상 문자를 제어하지 않습니다.

"git show"는 파이프를 통해 색상 문자를 제어하지 않습니다.

git-show 결과 목록을 출력하고 호출기로 연결하려고 합니다.
안타깝게도 색상을 보존할 수 없습니다.
이것은 내가 실행 중인 명령입니다.
git log -n10 | awk '{print $1}' | xargs -d '\n' -I{} bash -c 'git show {}' -- | less -MR

파이프가 없으면 | less -MR출력이 컬러로 인쇄됩니다.
나는 또한 그것을 시도했지만 less -r분명히 문제는 출력이 다른 명령으로 파이프되는 것을 감지했을 때 색상을 유지하지 않는 git show것 같습니다 .xargsstdout

설명서 xargs에도 색상 유지에 대한 언급이 없습니다 git.

less호출기 출력에서 ​​색상을 유지하는 방법은 무엇입니까 ?

답변1

man git-showman git-diff색상 보존을 강제하는 방법에 대해 설명합니다 . 다음에서 가져온 것 같습니다 .

   --color[=<when>]
       Show colored diff.  --color (i.e. without =<when>) is the same as --color=always.  <when> can be one of always, never, or auto.

업데이트된 bash 명령:
git log -n10 | awk '{print $1}' | xargs -d '\n' -I{} bash -c 'git show --color=always {}' -- | less -MR

관련 정보