[GIT] GIT을 사용하다. - 2편 LOG관련 명령어

2021. 1. 14. 00:49 형상관리/Git

커밋로그 보기

  • 전달인자 -1, -2,를 주어 출력수를 제한 할 수 있습니다.
  • 전달인자 -p를 사용하여 변경된 내용을 같이 볼 수 있습니다.
  • 전달인자 –graph를 사용하여 브랜치 트리를 볼 수 있습니다.
git log

 

커밋로그 날짜범위 지정

  • 전달인자 –since를 사용하여 원하는 시간 동안의 커밋로그를 볼 수 있습니다.
  • 전달인자 –before를 사용하여 일정시간을 제외한 나머지 커밋로그를 볼 수 있습니다.
  • 시간 형식은 24 hours, 1 minute, 2012.01.10, 2012-11-10등을 사용 가능합니다.
git log --since="5 hours"
git log --before="5 hours"

 

커밋로그 리비전 범위 지정

1. 전달인자 format:”%h %s”를 추가하여 짧은 해쉬와 커밋로그 요약하여 보기

git log --pretty=format:"%h %s"

 

2. 리비전 해시번호로 범위지정하여 로그출력(git log 과거리비전 최신리비전)

git log 18f822e..0bb3dfb

 

3. HEAD포인터는 현재 브랜치의 최신 리비전을 의미한다. 이를 활용하여 범위 지정가능 합니다. HEAD포인터명은 생략하면 HEAD포인터로 인식하기 떄문에 생략해도 괜찮습니다.

git log 18f822e..HEAD
git log 18f822e..

 

4. 태그명과 최신리비전 사이의 커밋로그 출력

git log 1.0..HEAD
git log --pretty=format:"%h %s" 1.0..HEAD

 

연산자 사용하여 범위 출력

  • n: 캐럿은 -1을 의미 합니다.
  • ~N: 커밋명에서 N만큼 뺍니다.
git log HEAD^
git log HEAD^^
git log HEAD~1
git log HEAD^~2
git log HEAD~10..HEAD

 

태그이후 변경사항 통계 출력

git diff --stat 1.0

 

코드블럭의 로그 출력

  • 전달인자 -L로 일부분의 정보를 볼 수 있습니다.(git blame -L 시작, 끝 파일명)
  • 또한 -L로 일부분 정보를 추린다면 정규표현식도 사용가능 합니다.
git blame hello.html
git blame -L 12,13 hello.html
git blame -L 12,+2 hello.html
git blame -L 12,-2 hello.html
git blame -L "/<\/body>/", +2 hello.html

 

커밋 돌려놓기

  • 기존의 커밋에서 변경한 내용을 취소해서 새로운 커밋을 만듭니다. -n옵션을 사용하면 바로 커밋하지 않기 때문에 revert를 여러번한 다음에 커밋할 수 있습니다.(항상 최신의 커밋부터 revert해야 합니다.)
git revert -n HEAD
git revert -n 540ecb7

 

변경사항 재 설정

  • 이전 커밋을 수정하기 위해서 사용합니다. –soft 옵션을 사용하면 이전 커밋을 스테이징하고 커밋은 하지 않으며 –hard옵션은 저장소와 작업트리에서 커밋을 제거 합니다. git reset HEAD^와 같이 입력하면 최근 1개의 커밋을 취소할 수 있습니다.
git reset --hard HEAD^

 

커밋순서 변경하기

  • -i옵션으로 대화형모드로 커밋 순서를 변경하거나 합치는 등의 작업을 할 수 있습니다.
git rebase -i HEAD~3


출처: https://redgolems.tistory.com/11?category=481635 [레드골렘즈 콤비의 개발이야기]