이번 시간에는 github log관리법을 알아보겠습니다.
시작 전 잠깐 사진처럼 여러분들이 push 할 때 node_moduls까지 딸려 오는 경우가 있습니다. 이경우. gitnore에서 제외시키지 않은 문제인데
gitignore.io
Create useful .gitignore files for your project
www.toptal.com
이 사이트에는 내가 개발하는 언어에 어떤 것을 제외하고 넣어야할지 .gitnore 파일내용을 정리해주는 사이트입니다.
기본적으로 저장소에 그냥넣는 거보다 어떤 것을 제외할지 정리하고 넣는 것을 추천합니다.
git log
git log 를 했을 때 화면입니다. 저는 최근 3번 push를 했는데 이렇게 push 할 때마다 log가 남게 됩니다.
git log -p -2
git log 명령어의 -p 옵션과 -[숫자]를 명시하면 숫자는 -2 와 같이 사용되고, 최근 몇개의 내역을 보여줄 것인가를 설정하는 부분이고 -p옵션은 각 커밋의 diff 결과를 보여줍니다.
코드가 긴경우 스페이스바를 눌러서 다른 log 도 보여줍니다.
git log --stat
git log --stat옵션을 사용하면 각 커밋의 통계를 보여줍니다. 얼마나 많은 파일이 몇 줄이나 수정되거나 추가 삭제되었는지를 보여주며 마지막에 요약정보를 보여줍니다.
git log --pretty
--pretty 옵션으로 여러가지 형식으로 기록보기
--pretty 옵션과 부가 옵션을 추가하면 사용하는 기본 형식 이외의 다양한 형식으로 기록을 볼 수 있습니다. online 옵션은 하나의 커밋을 체크섬과 커밋 메시지만 을 가지고 한 줄로만 표현합니다.
short, full, fuller 옵션은 각각 단계에 따라 정보들을 추가적으로 자세히 보여줍니다.
format 옵션으로 나만의 형식으로 보기
format 옵션과 추가 표현 옵션을 사용하여 내가 원하는 형식으로 바꾸어 볼 수 있습니다.
format 형식에 사용할 수 있는 옵션
옵션 | 설명 |
%H | 커밋 해시 |
%h | 단축 커밋 해시 |
%T | 트리 해시 |
%t | 단축 트리 해시 |
%p | 부모 해시 |
%P | 단축 부모 해시 |
%an | 저자 이름 |
%ae | 저자 메일 |
%ad | 저자 시간(-date 옵션) |
%ar | 저자 상대 시간(ex: 5days ago) |
%cn | committer 이름 (커밋한 사람) |
%ce | committer 메일 (커밋한 사람) |
%cd | committer 시간 |
%cr | commiter 상대 시간(ex: 5days ago) |
%s | 요약 |
포멧 옵션에서 저자와 커밋터의 차이는 저자의 경우 실제 작업을 수행하는 사람이고 커밋터는 실제 저장소에 커밋한 사람입니다.
--graph 옵션을 통한 커밋 기록을 그래프 형식으로 보기
복잡한 텍스트 보다 그림이나 도형을 통해 한눈으로 알아볼 수 있게 하려면 --graph 옵션 몇가지 ASCII 문자를 이용해 커밋 내역을 그래프로 표현해 보여줍니다.
git log 주요 옵션 요약
옵션 | 설명 |
-p | 각 커밋에 적용된 패치를 보여준다. |
--stat | 각 커밋에서 수정된 내용을 통계정보로 요약해준다. |
--shortstat | --stat 명령의 결과 중에서 수정한 파일. 추가된 라인, 삭제된 라인 정보를 보여준다. |
--name--only | 커밋 정보중에서 수정된 파일의 목록만 보여준다. |
--name-status | 수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한 것인지도 보여준다. |
--abbrev-commit | 40글자 SHA-1 체크섬을 전부 보여주는 것이 아닌 처음 몇 글자만 보여준다. |
--relative-date | 정확한 시간을 보여주는 것이 아니라 2 weeks ago 같은 형식으로 보여준다.(상대적시간) |
--graph | 브랜치와 머지 히스토리 정보까지 아스키 코드로 표현한 그래프로 보여준다. |
--pretty | 지정한 형식으로 보여준다. 이 옵션에는 oneline, short, full, fuller,format이 있다. format은 사용자가 원하는 형식으로 출력하고자 할 때 사용하며 형식 옵션이 추가로 필요하다. |
git log 조건 범위로 기록 조회하기
git log의 몇 가지 옵션을 통해 조건을 주어 일부분의 커밋 기록만을 조화할 수 있습니다. 나중에 커밋이 몇 만개가 된다면 모든 기록을 출력해 보면 원하는 정보를 뽑아내기 힘들기 떄문에 원하는 정보를 보다 빠르게 캐치하기 위해 조건 범위 검색 옵션이 유용할 것입니다.
이미 위해서 살펴 보았는데 -[숫자] 옵션은 -3 과 같이 몇 개의 커밋 기록을 조회하고 싶은지를 표현 할 수 있고, --since와 --until
같이 시간을 기준으로 하는 옵션을 이용하여 특정 날짜를 지정할 수 있습니다.
예를 들어 2021-09-14 같이 지정하거나 , 1years 15day 3minutes ago 같은 상대적 시간도 지정 가능합니다.
$ git log --since=2.weeks #지난 2주 동안 커밋 기록
또한 -author 옵션으로 저자를 지정하거나 --committer 옵션으로 커밋터를 지정할 수 있고 --grep 옵션으로 커밋 메시지를 조건 으로 검색할 수 있습니다. 모두 만족하는 커밋을 찾으려면 --all-match 옵션을 사용합니다.
유용한 옵션으로는 -S 가 있는데 이 옵션은 추가, 삭제된 내용중 특정 텍스트가 포함되어 있는지를 검색합니다. 예를 들어 계산 함수를 어떤 커밋에서 반영했는지 검색하는 경우 git log -S'calc(int a)'와 같이 검색할 수 있습니다.
마지막으로 파일의 경로를 통해 검색하는 경우 git log -- 경로1 경로2 와 같이 -- 와 이어서 사용하며, 명령어 끝부분에 사용합니다.
옵션 | 설명 |
--숫자 | 최근 n 개의 커밋만 조회한다. |
--since, --after | 명시한 날짜 이후의 커밋만 검색한다. |
--until, --before | 명시한 날짜 이전의 커밋만 조회한다. |
--author | 입력한 저자의 커밋만 보여준다. |
--committer | 입력한 커미터의 커밋만 보여준다. |
--grep | 커밋 메시지 안의 텍스트를 검색한다. |
-S | 커밋 변경(추가/삭제) 내용 안의 텍스트를 검색한다. |
Reference
[Git] git log 명령어 - 커밋 기록 보기
Git 커밋 기록 보기 Git에서 커밋 기록을 보고자 하는 경우 git log 명령을 사용합니다. git log 명령을 테스트하기 위해 자바스크립트 jQuery Git 저장소를 clone합니다. 개인이 작업하고 있는 Git 저장소
dololak.tistory.com
'프론트 엔드 > GIT' 카테고리의 다른 글
[GIT] Git 바로잡기! 듀토리얼(4).Merge이해하기 (0) | 2021.09.14 |
---|---|
[GIT] Git 바로잡기! 듀토리얼 (2) - Git 시작하기 레포지토리 생성 (0) | 2021.09.14 |
[GIT] Git 바로잡기! 듀토리얼 (1) - Git 설치 및 세팅 법 (0) | 2021.09.14 |