git | log

DoItDev·2021년 10월 2일
0
post-thumbnail

git log 명령어의 경우 깃 프로젝트의 히스토리를 보기 위한 커맨드 입니다.

깃을 작업을 하다보면 push도 하고 clone, merge .. 많은 작업을 하는데

프로젝트에서 어떤 히스토리 그리고 누가 작업을 했고 누가 merge 를 했는지

알고 싶을 때 사용을 한다.

보통 IDE 를 사용하면 git log을 보통 트리형식으로 보여준다.

어떤 프로젝트가 있다 기본 명령어인 log를 사용을 했다.

옵션이 없다면 레파지토리의 커멋 히스토리가 시간순으로 보여준다.

가장 최근 커밋이 가장 먼저 나온다. 각각의 커밋은 이메일, 이름, sha-1 체크섬, 커밋 날짜, 커밋 메세지 등.. 보여준다.

원하는 히스토리를 보여준다.

git log

다양한 옵션중에 -p, --patch 는 각각의 커민 diff 결과를 보여준다. 이 옵션은 직접 diff 를 실행한것과 같은 결과를 출력하기 때문에 무엇을 커밋했는지 보여준다.

예시로 하면 -3 이라는 커멘드를 사용하면 최근 3가지 로그를 보여준다.

git log -p -3

--stat 옵션으로 각 커밋의 통계 정보를 조회할 수 있는데 어떤 파일이 수정 되었는지 얼마나 많은 파일이 변경 되었는지 얼마나 라인을 제거 했는지 알 수 있는데 요약 정보를 뒤쪽에 보여준다.

git log --stat

--pretty 옵션인데 이 옵션을 통해서 히스토리 내용을 보여줄 때 기본 형식 이외에 다른 형식으로도 볼 수 있다.

oneline 옵션은 각 커밋은 한 라인 씩 보여준다. 그리고 추가적으로 다른 옵션들도 존재한다. short, full, fuller 옵션도 있는데 정보를 축약 해주거나 늘려서 보여준다.

git log --pretty=oneline

여기서 추가적으로 format 옵션이다. 나만의 포맷으로 결과를 출력하고 싶을때 사용하다.
특히 결과를 다른 프로그램으로 파싱하고자 할때 유용하다.

git log --pretty=format:"%h - %an, %ar : %s"
옵션설명
%H커밋 해시
%h짧은 길이 커밋 해시
%T트리 해시
%t짧은 길이 트리 해시
%P부모 해시
%p짧은 길이 부모 해시
%an저자 이름
%ae저자 메일
%ad저자 시각 (형식은 –-date=옵션 참고)
%ar저자 상대적 시각
%cn커미터 이름
%ce커미터 메일
%cd커미터 시각
%cr커미터 상대적 시각
%s요약

--graph 옵션은 그래프 형식으로 보여준다.

사실 위의 옵션들도 중요하다고 생각되지만 가장 중요한 것을 위의 옾션이라고 생각된다. 이 옵션을 사용해서 tree 구조로 로그를 볼 수 있어서 가장 유용하다. 위의 옵션들을 사용해서 아래와 같이 만들 수 도 있다.

git log --pretty=format:"%h %s" --graph --color
git log --oneline --graph --color --all --decorate

그리고 알리야스로 만들어서도 사용이 가능하다.
아래와 같이 알리야스를 만들어서 사용을 한다면 유용하게 사용이 가능하다.

[alias]
  tree = log --oneline --graph --all --no-decorate
git tree --decorate

OS가 GUI를 지원할 때 다음을 사용하는 커멘드

gitk --all

추가적으로 다른 옵션을 사용이 가능하다.

gitk master origin/master origin/experiment
gitk --simplify-by-decoration --all
profile
Back-End Engineer

0개의 댓글