깃의 버전 히스토리

최동혁·2022년 12월 9일
0

깃허브

목록 보기
6/9

log

  • git log를 이용해 커밋 히스토리 보기
  • q를 누르면 나올 수 있다.

  • git log -p 를 이용하면 수정된 파일의 내용들도 확인해 볼 수 있다.

  • git log --oneline 이라는 명령어는 간단하게 history를 보는 것이다.

HEAD

  • 우리가 git에서 계속 커밋을 했을 때 a라는 커밋을 하면

    a

  • 그 이후 b라는 커밋을 하면

    a <- b

  • c, d, e를 하면

    a <- b <- c <- d <- e

  • 이렇게 가장 최신 커밋은 이전 커밋을 가리키는 포인터가 생성된다.

  • 그리고 이렇게 커밋을 해나아가는 줄기가 master branch이다.

    a <- b <- c <- d <- e <- master

  • 이제 막 e를 커밋했다면, head는 e를 가리키게 된다.

  • HEAD란?

    • 지금 현재 버전을 가리킴.
    • head~1은 바로 전 버전
    • head~2는 전전 버전

log

  • git log --oneline을 했을때 앞에 나오는 코드들이 해시 코드임.

  • 돌아가고 싶은 해시 코드를 복사
  • git checkout 원하는 해시코드

  • 해당 해시코드 커밋으로 돌아감.
  • 다시 git log를 보면

  • 이렇게 아까 썻던 해시 코드를 head가 가리키고 있다.

  • 다시 처음으로 가려면 git checkout master 를 쓰게 되면 맨 처음으로 돌아가게 된다.

  • 그리고 git log --oneline 에서 --reverse를 추가로 입력하게 되면 오래된 것부터 볼 수 있다.

  • 만약 다른 branch가 있어서 어떤 branch가 commit을 했는지 알고 싶다면??

  • git log --oneline --graph -all

  • 다른 branch가 commit을 한 것을 어떤 branch가 했는지 알아볼 수 있다.

log 고급

로그 개수 정해서 보기

  • git log -숫자를 치게 되면?
  • 숫자만큼 log가 나온다.

로그 개수 정해서 보는데 요약해서

  • git log --oneline -3
  • 이렇게 하면 oneline으로 3줄이 나오게 된다.

커밋 작성자로 로그 검색

  • git log --author="ellie"
  • author 중에 ellie라는 이름을 가진 로그만 보여준다.

날짜로 로그 검색

  • git log --before="2020-10-29"
  • 입력한 날짜 이전 커밋들을 보여준다!

커밋 내용으로 로그 검색

  • git log --grep="project"
  • 커밋 내용에 project라는 글자가 들어있는 것을 보여준다.

소스 코드 내용으로 로그 검색

  • git log -S "코드 내용"
  • 코드 내용을 치게 되면 해당 코드가 들어있는 커밋을 뽑아준다.

소스 코드 내용 로그 중에 더 자세히

  • git log -S "코드 내용" -p
  • 코드 내용안에 어디에 들어가 있는지까지 보임.

파일별로 로그 보기

  • git log 파일이름
  • 해당 파일의 로그를 볼 수 있다.

파일별로 로그 자세히 보기

  • git log -p 파일이름
  • 해당 파일의 로그를 더 자세히 볼 수 있다.

head를 이용한 로그 보기

  • git log HEAD

head~숫자로 이전 버전 로그 보기

  • git log HEAD~1
  • 바로 이전 버전의 로그들
  • git log HEAD~2
  • 전전 버전의 로그들

해시코드를 이용한 로그 자세히 보기

  • git show 해시코드 일부
  • 해당 해시코드의 커밋을 자세히 볼 수 있다.

해당 해시코드의 특정 파일만 내용 보기

  • git show 해시코드 일부:보고싶은 파일
  • ex) git show 3287:welcome.txt
  • 해당 파일의 내용을 볼 수 있다.

해시코드로 서로 다른 커밋 비교

  • git diff 해시코드1 해시코드2
  • 해시코드1에 해당하는 커밋과 2에 해당하는 내용에서 어떤 부분이 추가되었는지 볼 수 있다.

해시코드로 서로 다른 커밋 비교하면서 특정 파일만

  • git diff 해시코드1 해시코드2 파일명
  • 해시코드1에서 해시코드2로 변하면서 바뀐 파일에서 어떤 것이 바꼇는지 내용 볼 수 있다.
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글