Git 설정하기

2021년 10월 25일 수정

이 글은 Git 설정 관련 팁을 몇 가지 모은 글이다. 아마도 이름이나 메일 설정하는 것을 제외하면 별로 사용할 일은 없을 것 같다. 이 외의 사용법에 관해서는 Git 일반적인 사용법 혹은 Git의 특별한 사용법 글을 참고하자.

기초 정보 설정

전역(global)으로 이름 및 이메일 주소 설정은 아래 커맨드로 할 수 있다.

git config --global user.name "your name"
git config --global user.email "your email address"

이 외에도 많은 설정이 있다. 공식 매뉴얼을 참고하자.

참고로 현재 프로젝트에만 별도(local)로 설정하려면 --global 옵션을 빼면 된다.

git config user.name "your name"
git config user.email "your email address"

전역 무시 목록(Global Git-Ignore)

우선 아래 커맨드로 전역 무시 설정이 존재하는지 살펴보자.

git config --get core.excludesfile

이 명령으로 뭔가 출력된다면 그 파일에 전역 무시 설정을 적으면 바로 적용이 된다.

만약 이 설정이 없거나 바꾸고 싶다면 원하는 파일, 예를 들어 ~/.gitignore_global 파일에 원하는 내용을 작성한 후 아래 커맨드로 전역 설정으로 지정하면 이후 효과가 발생한다.

git config --global core.excludesFile ~/.gitignore_global

페이저 비활성화

페이저(pager)란 less나 more 같은 도구로 터미널에서 로그나 변경사항을 볼 때 긴 내용을 편하게 볼 수 있게 도와준다. 하지만 사람의 눈이 아닌 다른 UNIX 유틸리티로 파이프로 넘기려고 할 때는 이런 페이저가 방해가 될 수 있다. 이 경우 --no-pager 옵션을 줘서 실행시킬 수 있다.

예를 들어 diff를 페이저 없이 쓰려면 아래와 같이 입력하면 된다.

git --no-pager diff

이 옵션은 pager. 으로 시작되는 다양한 설정으로 설정도 가능하다. 예를 들어 branch 명령에서 페이저를 영원히 비활성화 시키려면 아래의 커맨드를 이용할 수 있다.

git config --global pager.branch false

이 외에도 pager.diff 등 다양한 설정이 있다.

설정 분리하기

디렉토리별로 Git 설정을 분리하려면 ~/.gitconfig 파일에 아래와 같은 식으로 설정할 수 있다.

[user]
    email = your primary email address
    name = your name
[includeIf "gitdir:~/foo/bar/"]
    path = ~/.gitconfig-foo-bar

위의 설정의 경우 ~/foo/bar/ 라는 디렉터리 안에서는 ~/.gitconfig-foo-bar 라는 설정 파일을 읽어 들이도록 동작한다. 여기에 필요한 설정을 추가해주면 된다. 아래는 ~/.gitconfig-foo-bar 파일의 예제다.

[user]
    email = your secondary email address
    name = your name
[github]
    user = github user name

github 설정이 추가되어 있다는 점만 제외하면 지극히 평범한 Git 설정이다.