깃(Git)은 코드를 관리하는데 더 없이 훌륭한 툴임이 틀림없다. 그러나 그만큼 많은 명령어를 가지고 있고 복잡한 옵션을 일일이 기억하는 것은 매우 어려운 일이다. Bash등의 쉘이 Alias 기능을 지원하는 것처럼 깃도 Alias 설정을 통해 복잡한 명령어를 간단한 단축키로 설정하여 사용할 수 있다.

깃 로그를 볼때 사용하는 명령어가 git log다.

$ git log

이 명령어에는 --graph 옵션을 추가할 수 있는데 각 브랜치 별로 분기되고 머지되는 모습을 그래픽으로 보여주는 멋진 기능이다. 나는 --graph 옵션을 사용할 때 --format 등 몇 가지 옵션을 추가하여 사용하는데 다음과 같이 긴 옵션을 주고 실행한다.

$ git log --graph --abbrev-commit --decorate --format=format:'%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d%C(reset)' --all

매번 이렇게 깃 로그를 보는 것은 힘든 일이며 그렇기 때문에 Alias 설정을 통해 사용하면 훨씬 수월하다. git config 명령어를 통해서 단축키를 설정해 보자.

$ git config —global alias.lg log --graph --abbrev-commit --decorate --format=format:'%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d%C(reset)' --all

위 명령어를 실행한 결과 ~/.gitconfig 파일에는 다음과 같은 문자열이 추가된다.

[alias]
    lg = log --graph --abbrev-commit --decorate --format=format:'%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d%C(reset)' --all

그리고 git lg 명령어를 사용하면 lg에 설정한 옵션들이 그대로 대치되어 실행된다.

내가 자주 사용하는 alias는 다음과 같다.

[alias]
    co = checkout
    rb = rebase -i
    st = status
    cm = commit
    pl = pull
    ps = push
    lg = log --graph --abbrev-commit --decorate --format=format:'%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d%C(reset)' --all
    ad = add
    tg = tag -n
    df = diff
    br = branch

git config 명령으로 하나씩 Alias를 설정해도 되지만 설정된 Alias들은 ~/.gitconfig 파일에 입력해도 동일하게 동작한다.