Git은 사용자의 취향에 따라 다르게 동작하도록 설정할 수 있다. 터미널 색깔, 편집기 등을 설정할 수 있으며, 저장소마다 다르게 혹은 글로벌하게 성정할 수 있고, 각각의 설정파일은 다르다.
Git을 설치한 후 사용 환경을 설치하게 되는데, 이때 git config를 이용한다. 이때 사용하는 설정 파일은 다음의 세 가지 이다.
/etc/gitconfig
: 시스템의 모든 사용자와 모든 저장소에 적용되는 설정이다. git config --system
옵션으로 이 파일을 읽고 쓸 수 있다. 이 파일은 설정파일이기 때문에 수정시 관리자 권한이 필요하다.~/.gitconfig
, ~/.config/git/config
: 특정 사용자에게만 적용되는 설정이다. git config --global
옵션으로 이 파일을 읽고 쓸 수 있다. 특정 사용자의 모든
저장소 설정에 적용된다..git/config
: 이 파일은 Git 디렉토리에 있고 특정 저장소에만 적용된다. --local
옵션을 사용하면 이 파일을 사용하도록 지정할 수 있다. 기본적으로 이 옵션이 적용되어 있고, 옵션을 적용하기 위해서는 Git 저장소인 디렉토리로 이동한 수 적용할 수 있다.각 설정은 역순으로 우선시 된다. 즉, .git/config
가 /etc/gitconfig
보다 우선한다.
Windows에서는 $HOME
(일반적으로 C:\Users\USER
) 디렉토리에서 .gitconfig
파일을 찾는다. /etc/gitconfig
파일은 윈도우에서도 해당 경로에서 찾는다. 이 경로는 MSys 루트 상대경로로 예상되며, MSys 루트 인스톨러로 Git을 Windows에 설치할 때 결정된다. Git for Windows 2.x 버전
에서는 약간 다르게 작동한다. Windows XP 사용자는 C:\Documents and Settings\All User\ Application Data|Git\Config
에서 찾을 수 있다. 이 시스템 설정 파일의 경로는 git config -f <file>
명령으로 변경할 수 있으며, 관리자 권한이 필요하다.
Git을 설치한 후 가장 먼저 할 일은 사용자이름과 이메일 주소를 설정하는 것이다. Git은 커밋 할 때마다 이 정보를 사용한다. 한 번 커밋한 후에는 정보를 변경할 수 없다.
$ git config --global user.name "Example Name"
$ git config --global user.email Example@example.com
--global
옵션으로 설정하는 것은 사용자 당 한번만 하면 된다. 만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global
옵션을 빼고 명령을 실행한다.
GUI 도구들은 처음 실행할 때 이 설정을 묻는다.
사용자 정보를 설정하고 나면 Git에서 사용할 텍스트 편집기를 고른다. 기본적으로 Git은 시스템의 기본 편집기를 사용한다. 하지만 Emacs 같은 다른 텍스트 편집기를 사용할 수 있고, 아래와 같이 실행하면 된다
$ git config --global core.editor emacs
Windows 사용자라면 실행파일의 전체 경로를 설정하여 다른 텍스트 편집기를 사용할 수 있다. 실행파일의 전체 경로는 사용하는 편집기에 따라 다르다.
Windows 환경에서 많이 사용되는 Notepad 편집기의 경우 주로 32비트 버전을 사용하게 된다. 현재 기준으로 64비트 버전을 사용하면 동작하지 않는 플러그인이 많다. 32비드 Windows 시스템이서나, 64비트 Windows 시스템에서 64비트 Notepad를 설치했다면 다음과 같이 설정한다.
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
64비트 Windows 시스템에서 32비트 Notepad++를 설치했다면 C:\Program Files (x86)
에 설치된다.
$ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"
Vim과 Emacs, Notepad++는 꽤 인끼있는 편집기로 개발자들이 즐겨 사용한다. Mac이나 Linux 같은 Unix 시스템, Windows 시스템에서 사용 가능하다. 여기서 소개하는 편집기들이 불편해서 다른 편집기를 사용하고자 한다면 해당 편집기를 Git 편집기로 설정하는 방법을 찾아봐야 한다.
자신의 편집기를 설정하지 않으면 갑자기 실행된 편집기에 당황할 수 있다. 그땐 당황하지 말고 편집기를 그냥 종료하면 Git 명령을 취소할 수 있다.
git config --list
명령을 실행하면 설정한 모든 것을 바로 확인할 수 있다.
$git config --list
user.name=Example Name
user.email=Example@example.com
color.status=auto
color.branch=auto
...
Git은 같은 키를 /etc/gitconfig
혹은 ~/.gitconfig
와 같은 여러 파일에서 읽기 때문에 같은 키가 여러개 있을 수 있다. 그럴 때 Git은 나중 값을 사용한다.
git config <key>
열영으로 Git이 특정 Key에 대해 어떤 값을 사용하는지 확인할 수 있다.
$ git config user.name
Example Name