git-show 결과 목록을 출력하고 호출기로 연결하려고 합니다.
안타깝게도 색상을 보존할 수 없습니다.
이것은 내가 실행 중인 명령입니다.
git log -n10 | awk '{print $1}' | xargs -d '\n' -I{} bash -c 'git show {}' -- | less -MR
파이프가 없으면 | less -MR
출력이 컬러로 인쇄됩니다.
나는 또한 그것을 시도했지만 less -r
분명히 문제는 출력이 다른 명령으로 파이프되는 것을 감지했을 때 색상을 유지하지 않는 git show
것 같습니다 .xargs
stdout
설명서 xargs
에도 색상 유지에 대한 언급이 없습니다 git
.
less
호출기 출력에서 색상을 유지하는 방법은 무엇입니까 ?
답변1
man git-show
man 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