본문 바로가기

협업/git

git 주요 명령어 정리

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

 

출저 : https://jistol.github.io/vcs/2017/01/30/git-log/

참고 : https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%BB%A4%EB%B0%8B-%ED%9E%88%EC%8A%A4%ED%86%A0%EB%A6%AC-%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0

'협업 > 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