git의 ANSI 색상이 올바르게 표시되지 않습니다.
최근에 SLES 11로 전환했습니다. git 명령에 문제가 있습니다. 모든 ANSI 색상을 렌더링 할 수 없습니다. 대신 다음과 같은 ANSI 코드를 표시합니다.
* ESC [33m * 커밋 0a02124a0fd85c1f0094bcdf15bac1645e3c8630ESC [m
참고 : 'ls'의 ansi 색상은 매우 잘 작동합니다.
옵션 LESS
을 포함하도록 환경 변수를 설정해보십시오 -R
.
LESS=-R git grep ...
이 작품 경우, 추가 export LESS=-R
사용자에 ~/.bashrc
나 ~/.profile
또는 유사한 쉘 시작 파일.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are
output in "raw" form. Unlike -r, the screen
appearance is maintained correctly in most cases.
ANSI "color" escape sequences are sequences of the
form:
ESC [ ... m
where the "..." is zero or more color specification
characters
다른 사람들이 지적했듯이 문제는 터미널이 정상이지만 Git이 호출기를 호출 할 때 ANSI 색상 코드를 올바르게 해석하지 않는다는 것입니다.
나는 당신의 환경에서 설정 을 해제 하는 것으로 시작 LESS
합니다. 이전에 Git에 필요한 것을 모호하게 설정 한 것처럼 들립니다. 그것이 해결된다면 당신은 거기에 있습니다. 정말로 커스터마이즈해야한다면 LESS
Git이 FRSX
기본값으로 시작 하므로 필요하지 않은 경우 변경하지 않도록주의하십시오.
어떤 이유로 든 Git에 대해 원하는 것과 다른 환경에서 원하는 작업 을 수행 하는 경우 LESS
Git 및 호출기를 처리하는 이상적인 방법은 core.pager
config 변수를 사용하는 것입니다. 맨 페이지를 인용하려면 :
git이 출력 페이지를 매기는 데 사용할 명령입니다. GIT_PAGER 환경 변수로 재정의 할 수 있습니다. git은 호출기를 실행할 때 설정되지 않은 경우 LESS 환경 변수를 FRSX로 설정합니다. LESS 변수를 다른 값으로 설정하여 이러한 설정을 변경할 수 있습니다. 또는 core.pager 옵션을 설정하여 프로젝트 또는 전역 기준으로 이러한 설정을 재정의 할 수 있습니다. core.pager 설정은 위의 LESS 환경 변수 동작에 영향을 미치지 않으므로 이런 방식으로 git의 기본 설정을 재정의하려면 명시 적이어야합니다. 예를 들어 이전 버전과 호환되는 방식으로 S 옵션을 비활성화하려면 core.pager를로 설정합니다
less -+$LESS -FRX
. 이것은 git에 의해 쉘로 전달되어 최종 명령을LESS=FRSX less -+FRSX -FRX
.
그것은 당신이 원하는 옵션에 대한 지식과 결합되어 당신이 원하는 곳으로 가야합니다. (멋진 이전 버전과 호환되는 방법은 현재의 모든 옵션을 비활성화 LESS
한 다음 원하는 옵션을 다시 추가 하는 방식으로 작동합니다 .)
git에서는 다음 -R
옵션 을 사용하도록 호출기를 변경할 수 있습니다 .
git config --global core.pager "less -R"
나를 위해 이것은 작동하지 않았습니다.
git config --global core.pager less -R
그래서 대신 ~ / .gitconfig 파일에 다음을 추가했습니다.
[core]
pager = less -R
그것을 테스트하기 위해
git log --graph --pretty=format:"%C(yellow)%h%Creset%C(blue)%d%Creset %C(white bold)%s%Creset %C(white dim)(by %an %ar)%Creset" --all
알겠습니다. 이 문제는 LESS 변수와 관련이 있습니다.
다음 줄은이 문제를 해결합니다.
export LESS="-erX"
나는 같은 문제가 있었다. 하지만 왜 한 시스템에서는 git을 구성하고 다른 시스템에서는 필요하지 않습니까? 문제의 원인을 수정하고 싶습니다.
git config --global core.pager "less -R"
나를위한 해결 방법처럼 보입니다.
Laravel Artisan 및 Symfony 콘솔의 Windows v2.7.1 용 Git에서 ANSI 색상 이스케이프 시퀀스와 비슷한 문제가 발생했습니다. 여기에 언급 된 LESS
솔루션으로 문제가 해결되지 않았습니다.
Windows 용 Git bash --login -i
이로 터미널을 열기 때문에 터미널이 시작된 후 입력 된이 줄이 저에게 효과적이었습니다.
bash
누가 여기에 오든 내 경우에는 core.pager를 설정 해제하는 대신 빈 문자열로 설정하여 해결되었습니다.
git config --global core.pager ''
https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration 에서 왔습니다.
참고 URL : https://stackoverflow.com/questions/8484167/ansi-color-in-git-is-not-displayed-correctly
'IT박스' 카테고리의 다른 글
정의로 이동을위한 키보드 단축키 (0) | 2020.12.04 |
---|---|
객체가 특정 유형의 배열인지 확인하는 방법은 무엇입니까? (0) | 2020.12.04 |
matplotlib 막대 그래프 검정-막대 테두리를 제거하는 방법 (0) | 2020.12.04 |
다른 조각에서 새 조각을 열려면 어떻게합니까? (0) | 2020.12.04 |
BEM 블록, 이름 지정 및 중첩 (0) | 2020.12.04 |