깃(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 파일에 입력해도 동일하게 동작한다.