Git 콘솔을 색칠하는 방법?


371

최근 git에 Windows 의 콘솔에 색상이 추가 된 것을 볼 수 있었습니다 (예 : 추가를위한 녹색, 삭제를위한 빨간색 등). git콘솔의 색상을 어떻게 지정합니까 ?

그것을 설치하기 위해 다음 명령을 사용했습니다. $ sudo apt-get install git-core


6
git1.8.4부터는 기본적으로 색상이 표시됩니다. 아래 내 답변을 참조하십시오 .
VonC 2016 년

1
우분투 14.04의 @VonC git 1.9.1은 발생하지 않았습니다. JoelPurra의 답변에서 구성을 설정해야했습니다.
이즈 카타

1
@ Izkata 이상합니다. 나중에 테스트 할 것입니다 .git 2.1 이상은 어떻습니까? (아래에서 stackoverflow.com/questions/10998792/… 에서 언급 한대로 )
VonC

답변:


682

으로 언급 에 의해 @VonC , color.ui에 기본값 auto힘내 1.8.4 이후


유닉스 및 리눅스 스택 교환 질문 에서 git의 출력물을 어떻게 채색합니까? 그리고 @Evgeny답변 :

git config --global color.ui auto

이것은 명령으로 사용 가능한 color.ui모든 다양한 color.*구성 을 포함하는 메타 구성입니다 git. 자세한 내용은에 자세히 설명되어 git help config있습니다.

따라서 기본적으로 다른 color.*설정을 별도로 설정하는 것보다 쉽고 더 확실한 증거 입니다.

git config설명서의 자세한 설명 :

color.ui이 변수는 다음과 같은 변수에 대한 기본값 결정 color.diff하고 color.grep그 제어 명령 군 당 색상의 사용. --color옵션 의 기본값을 설정하기 위해 더 많은 명령이 구성을 배우면 범위가 확장됩니다 . 로 설정 always, 당신이 사용하는 색상 기계 소비를위한 모든 출력을 원하는 경우 true또는 auto경우 터미널에 기록 할 때 사용하는 색상에 같은 출력을 원하는, 또는에 false또는 never당신이 사용하지 않을 색상에 자식 명령을 선호하는 경우 일부 명시 적으로 설정하지 않는 한 다른 구성 또는 --color옵션.


11
이 질문은 리눅스가 아니라 OSX에서도 작동합니다.
StackExchange What The Heck

아마도 끝에 'true'를 추가해야 할 것입니다. git config --global color.ui auto true
Vamshi

6
@Skeptor : 아니요, auto충분합니다.
Joel Purra

2
@Phani : 예, 영구적입니다.
Joel Purra

5
사용자 파일 ui = auto[color]섹션에 항목을 추가하기 때문에 영구적 ~/.gitconfig입니다.
Andris


30

다음 코드에서 .gitconfig 파일에 추가하십시오.

  [color]
    ui = auto
  [color "branch"]
    current = yellow reverse
    local = yellow
    remote = green
  [color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red bold
    new = green bold
  [color "status"]
    added = yellow
    changed = green
    untracked = cyan

7

Git은 요청하면 대부분의 출력을 자동으로 채색합니다. 당신은 당신이 색을 원하는 것과 방법에 대해 매우 구체적으로 얻을 수 있습니다. 그러나 모든 기본 터미널 색상을 설정하려면 color.ui를 true로 설정하십시오.

git config --global color.ui true

6

우분투 또는 다른 플랫폼에서 (예, Windows도 마찬가지입니다); 시작 git1.8.4 했다 2013년 8월 23일을 발표하는 것은 , 당신은 아무것도 할 필요가 없습니다 :

많은 튜토리얼은 user.name/emailGit에 자신을 소개하기 위해 " "를 설정 한 후 "color.ui"를 "auto"로 설정 하도록 지시합니다. 이제 변수의 기본값은 " auto"입니다.

기본적으로 색상이 표시됩니다.


2
(터미널에 따라 Windows도 마찬가지입니다. stackoverflow.com/a/12133244/6309 )
VonC

2
2014 년 Ubuntu를 사용하여 git을 설치했지만 여전히 실행해야했습니다 git config --global color.ui auto. 내 Mac에서도 마찬가지입니다. 기본적으로 autoWindows PC에서 Git Bash 만 사용했습니다.
sargas

1
@sargas 물론 PPA에서 설치해야합니다 : launchpad.net/~git-core/+archive/ppa (우분투의 경우) 또는 git-scm.com/download/mac(Mac의 경우 )
VonC

1
나는 소스에 따라 다릅니다. 의견을 보내 주셔서 감사합니다.
sargas

6

당신의에서 ~/.gitconfig파일, 단순히이 추가 :

[color]
  ui = auto

모든 git 명령을 처리합니다.


5

다른 방법은 다음과 같이 편집하는 것입니다 .gitconfig(없는 경우 작성).

vim ~/.gitconfig

다음을 추가하십시오.

[color]
  diff = auto
  status = auto
  branch = auto

3
@ chuntao-lu [color] ui = auto로 충분합니다.
Chacko Mathew

5

GIT는 기본적으로 컬러 출력을 사용하지만 CentOS와 같은 일부 시스템에서는 활성화되지 않습니다. 이런 식으로 활성화 할 수 있습니다

git config --global color.ui  true 
git config --global color.ui  false 
git config --global color.ui  auto 

여기에서 필요한 명령을 선택할 수 있습니다.

여기서 --global 은 시스템의 모든 저장소에 대한 조치를 적용하기위한 선택적입니다. 현재 저장소에만 색상을 적용하려면 다음과 같이 할 수 있습니다-

 git config color.ui  true 

1

Git 2.18을 사용하면 콘솔에서 색상을 지정하는 방법을 더 많이 제어 할 수 있습니다.
" git config"명령은 " --int", " --bool"등과 같은 별도의 옵션 을 사용하여 호출자가 값을 해석하려는 유형을 지정합니다 .

새로운 " --type=<typename>"옵션이 도입되어 새로운 유형을보다 명확하게 정의 할 수 있습니다.

참조 fb0dc3b 커밋 (2018년 4월 18일)를, 그리고 0a8950b 커밋 에 의해 (2018년 4월 9일를) 테일러 블라 우 ( ttaylorr) .
( Junio ​​C gitsterHamano 에 의해 병합 - 커밋 e3e042b , 2018 년 5 월 08 일)

builtin/config.c: --type=<type>선호하는 별칭으로 지원--<type>

git config발신자가 '유형 지정자'를 제공하는 기능을 오랫동안 허용 해 왔으며, 이는 git config(1) 수신 값이 해당 유형으로 해석 될 수 있는지 확인하고 (2) 발신 값이 해당 유형에서 정규화되도록 지시합니다.

다른 시리즈에서는이 기능을 확장 --type=color하고 --default로 대체 할 것을 제안합니다 --get-color.

그러나 우리는 전통적 --color으로 "이 값을 색으로 취급해야합니다"대신 "이 출력물을 채색합니다"를 의미합니다.

현재 git config는 이런 종류의 채색을 지원하지 않지만,이 옵션이 너무 빨리 스쿼트되는 것을 피하여 나중에 원하는 경우 (전통적으로) git config지원할 수 있도록주의해야합니다 --color.

이 패치에서는 지원 --type=<int|bool|bool-or-int|...>뿐만 아니라 --int, --bool, 등
이 통해 기본적으로 색상 값을 쿼리 지원 상기 곧 패치를 할 수 있습니다 --type=color --default=...낭비하지 않고 --color.

우리는 여러 레거시 스타일 --<type>플래그가 제공 될 때 불만을 제기하는 역사적 행동을 유지하고 충돌하는 새로운 스타일 --type=<type>플래그 로 확장합니다 . --int --type=int(그리고 그것의 교환 쌍)은 불평하지 않지만 (그리고 그것의 교환 쌍)은 불평 --bool --type=int합니다.

전 그래서 당신은 가지고 --bool--int지금 ( 문서 ) :

--type <type>

' git config'는 입력 또는 출력이 주어진 유형 제약 조건 하에서 유효한지 확인하고 나가는 값을 <type>표준 형식으로 정규화합니다.

유효한 <type>은 다음과 같습니다.

  • ' bool': 값을 " true"또는 " false" 로 정규화합니다 .
  • ' int': 값을 간단한 10 진수로 정규화합니다. 선택적 접미사 ' k', ' m'또는 ' g'는 입력시 값에 1024, 1048576 또는 1073741824를 곱한 값입니다.
  • ' bool-or-int': 위에서 설명한대로 ' bool'또는 ' int' 에 따라 정규화 합니다.
  • ' path'선도적 추가하여 규범화 ~의 값 $HOME~user지정된 사용자의 홈 디렉토리로 이동합니다. 이 지정자는 값을 설정할 때 아무런 영향을 미치지 않습니다 (그러나 git config section.variable ~/명령 행에서 쉘을 확장 할 수 있습니다).
  • ' expiry-date': 고정 또는 상대 날짜 문자열에서 타임 스탬프로 변환하여 정규화합니다. 이 지정자는 값을 설정할 때 영향을 미치지 않습니다.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).

Git 2.22 (2019 년 2 분기)에는 " git config --type=color ..."가 " "을 (를) 대체하기위한 git config --get-color것이지만, 문서화되지 않은 약간의 차이가 있지만 이제는 수정되었습니다.

Jeff King ( )의 commit cd8e759 (2019 년 3 월 5 일)를 참조하십시오 . (의해 병합 Junio C 하마노 - -f6c75e3 커밋 20 삼월 2019)peff
gitster

config: 문서 --type=color출력은 완전한 라인입니다

새로운 " --type=color"옵션 " git config"은 기존의 " --get-color"옵션 과 상향 호환이 가능하지만, " "옵션은 후자의 LF가없는 불완전한 라인이 아닙니다.
따라서 " git config --type=bool" 와 같은 다른 유형의 출력과 일치 합니다.

때로는 의심하지 않는 사용자를 놀라게하므로 문서화하십시오 .

이제 읽습니다 :

--type=color [--default=<default>]보다 선호됩니다 --get-color (그러나로 --get-color인쇄되는 마지막 줄 바꿈은 생략됩니다 --type=color).


샘플 템플릿에서 git config --type=bool" git config --bool"호출 을 대체하기 위해 Git 2.26 (Q1 2020)과 함께 사용되는 것을 볼 수 있습니다 .

Lucius Hu ( )의 commit 81e3db4 (2020 년 1 월 19 일)를 참조하십시오 . ( Junoio C Hamano의해 합병 -- 커밋 7050624 , 2020 년 1 월 30 일)lebensterben
gitster

templates: 더 이상 사용되지 않는 유형 옵션 수정 --bool

서명자 : Lucius Hu

--bool옵션은하는 git-config역사적으로 표시되며, 사용자는 사용하는 것이 좋습니다 --type=bool대신.
이 커밋은 --bool템플릿에서 발생하는 모든 것을 대체합니다 .

또한 점에 유의, 다른되지 않는 유형 옵션을 포함, 찾을 수없는 --int, --bool-or-int, --path, 또는 --expiry-date.


0

여기를 참조하십시오 : https://nathanhoad.net/how-to-colours-in-git/

단계 :

  1. 편집을 위해 ~ / .gitconfig를 엽니 다.

    vi ~ / .gitconfig

  2. 다음 코드를 붙여 넣습니다.

    [color]
      ui = auto
    [color "branch"]
      current = yellow reverse
      local = yellow
      remote = green
    [color "diff"]
      meta = yellow bold
      frag = magenta bold
      old = red bold
      new = green bold
    [color "status"]
      added = yellow
      changed = green
      untracked = cyan
    
  3. 파일을 저장하십시오.

로컬 리포지토리에서 파일을 변경하고 수행하십시오.

git status

이미 같은 # answer-29320572 Victor
criticabug
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.