노트정리/버전관리 version control
git log에 자동으로 그래프 표시하기
공돌이pooh
2024. 12. 21. 13:40
Git에서 커밋 히스토리를 확인할 때, 브랜치 흐름을 시각화되어 있으면 보기 편하다. 이 때 사용 하는 것이 --graph
옵션이다. 그런데 git log
커맨드를 사용할 때 매번 --graph
옵션을 넣어주면 불편하다. 이걸 자동화하는 방법은 아래와 같다.
편집기로 .bashrc
파일을 열고 하단에 아래 스크립트를 추가한다.
# git 명령어를 가로채서 처리할 함수를 정의
function git() {
# $1은 첫 번째 인자. git 다음에 오는 명령어가 "log"인지 확인
if [[ $1 == "log" ]]; then
# shift는 첫 번째 인자(log)를 제거하고 나머지 인자들을 앞으로 당김
shift
# $*는 모든 옵션 인자들을 하나의 문자열로 합친 것
# " $* "처럼 앞뒤로 공백을 넣어 정확한 옵션 매칭을 보장 (graphical 같은거랑 헷갈리면 안되니)
# --graph 옵션이 없는지 확인
if [[ ! " $* " =~ " --graph " ]]; then
# --graph 옵션이 없으면 추가해서 실행
# command는 함수가 아닌 실제 git 명령어를 실행
# "$@"는 모든 인자들을 개별 인자로 전달
command git log --graph "$@"
else
# --graph 옵션이 이미 있으면 그대로 실행
command git log "$@"
fi
else
# log 명령어가 아닌 경우 모든 인자를 그대로 전달
command git "$@"
fi
}
그런 후 터미널을 다시 열거나 source ~/.bashrc
등으로 변경 사항을 적용한다.