git log의 유용하게 쓰이는 몇몇 옵션들을 정리해 봅니다.
자세한 사용법은 Git의 기초 - 커밋 히스토리 조회하기를 참고하세요.
출력 log 제한
git log -(n)
최근 N개의 log만 출력
$ git log -2 --pretty=oneline
7343a5f82686c8c94800ddf8d2cffb30f6160243 modify m3
5a65f7acf00b6c18285bc0396d463f6a7c506c91 modify m2
git log --since[after,until,before]
특정 날짜 이전/이후 commit만 조회
$ git log --since="2017-01-29"
commit 7343a5f82686c8c94800ddf8d2cffb30f6160243
Author: unknown <pptwenty@gmail.com>
Date: Mon Jan 30 22:54:30 2017 +0900 modify m3
git log --author[committer]
특정 저자/커미터의 commit만 조회합니다.
$ git log --author=unknown
commit 7343a5f82686c8c94800ddf8d2cffb30f6160243
Author: unknown <pptwenty@gmail.com>
Date: Mon Jan 30 22:54:30 2017 +0900
modify m3
git log -- [path1] [path2] ...
특정 경로(폴더or파일)의 변경사항에 대해서만 조회합니다.
$ git log -p -- ./w.txt ./v.txt ./work
commit 169f19e36a4360c6a587e146a104e092a62ffc04
Author: unknown <pptwenty@gmail.com>
Date: Mon Jan 30 23:32:48 2017 +0900
work add
diff --git a/work/w1.txt b/work/w1.txt
new file mode 100644
index 0000000..e69de29
commit 6b1dbc9c20ad9be3cea60e4cf467328141b17180
Author: unknown <pptwenty@gmail.com>
Date: Sun Jan 29 23:49:28 2017 +0900
v2
diff --git a/v.txt b/v.txt
index 626799f..8c1384d 100644
--- a/v.txt
+++ b/v.txt
@@ -1 +1 @@
-v1
+v2
diff 내용 같이 보기
git log -p --word-diff --stat
옵션설명
-p | 각 commit의 diff결과를 줄 단위로 보여줍니다. |
--word-diff | -p옵션과 같이 사용하면 diff결과를 단어 단위로 보여줍니다. 변경된 단어 단위별로 [- -]{+ +}와 같이 괄호로 쌓아 보여줍니다. |
--stat | 각 commit의 변경사항에 대한 통계정보를 보여줍니다. |
--shortstat | 각 commit의 변경사항에 대한 통계정보중 변경/추가/삭제 개수만 보여줍니다. |
$ git log -p --word-diff --stat -1
commit 7343a5f82686c8c94800ddf8d2cffb30f6160243
Author: unknown <pptwenty@gmail.com>
Date: Mon Jan 30 22:54:30 2017 +0900
modify m3
---
m.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m.txt b/m.txt
index 5895249..86afc2c 100644
--- a/m.txt
+++ b/m.txt
@@ -1,4 +1,4 @@
m3
m4-1
[-m5-2-]{+m5-3+} mmmmmm [-aaaaaa-]{+aaxxaa+}
m6
출력 log내용 형식 변경
git log --pretty=[OPTION] --abbrev-commit
--pretty옵션 값은 oneline, short, full, fuller가 있습니다.
oneline은 commit 내용을 한 줄로 표시(Hash값 , log 메시지)하며
나머지 옵션은 기본 log정보에서 추가정보를 가감합니다.
--abbrev-commit는 log HASH키 값을 처음 몇 자만 보여주도록 합니다.
※ --pretty=oneline --abbrev-commit의 경우 --oneline으로 대신 쓸 수 있습니다.
$ git log --pretty=oneline -1
7343a5f82686c8c94800ddf8d2cffb30f6160243 modify m3
$ git log --pretty=oneline --abbrev-commit -1
7343a5f modify m3
$ git log --pretty=fuller -1
commit 7343a5f82686c8c94800ddf8d2cffb30f6160243
Author: unknown <pptwenty@gmail.com>
AuthorDate: Mon Jan 30 22:54:30 2017 +0900
Commit: unknown <pptwenty@gmail.com>
CommitDate: Mon Jan 30 22:54:30 2017 +0900
modify m3
git log --pretty=format:"%h %s" --graph
--pretty=format옵션은 필요한 정보에 대해 특정 format으로 표시하는데
%h는 log의 HASH키 값을 줄여서 보여주며 %s는 log 메시지를 보여줍니다.
※HASH키 전체값을 보고 싶을 경우 %H옵션을 사용합니다.
--graph 옵션은 branch와 merge한 내역을 시각화 하여 보여줍니다.
$ git log --pretty=format:"%h %s" --graph
* 7343a5f modify m3
* 5a65f7a modify m2
* 01c75b6 modify m
* ae65735 Merge branch 'work2'
|↘
| * 6b1dbc9 v2
| * aa8dc59 v1
|↙
* 0604c1e Merge branch 'work1'
|↘
| * 277030f w2
| * 4d72d03 w1
|↙
* 4283fad m3
* 08e8d8d m2 \
* 4820c18 m1
'협업 > git' 카테고리의 다른 글
shell 프롬프트에 git branch 표시 (0) | 2020.05.18 |
---|---|
git 로그 보기 (0) | 2020.05.18 |
reset 한 것 취소하는 방법 (0) | 2020.05.11 |
git pull 시 문제 해결 (0) | 2020.05.11 |
커밋 메시지를 요청하는 git merge (0) | 2020.05.11 |