본문 바로가기

개발 이야기/Git

Git 요약 3. 커밋 히스토리 조회하기, 되돌리기(Undo)

반응형
커밋 히스토리 조회하기
  • git log
    • -p 각 커밋에 적용된 패치를 보여준다.
    • --stat 각 커밋에서 수정된 파일의 통계정보를 보여준다.
    • --shortstat --stat 명령의 결과 중에서 수정한 파일, 추가된 라인, 삭제된 라인만 보여준다.
    • --name-only 커밋 정보중에서 수정된 파일의 목록만 보여준다.
    • --name-status 수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한것인지도 보여준다.
    • --abbrev-commit 40자 짜리 SHA-1 체크섬을 전부 보여주는 것이 아니라 처음 몇 자만 보여준다.
    • --relative-date 정확한 시간을 보여주는 것이 아니라 ‘`2 weeks ago’'처럼 상대적인 형식으로 보여준다.
    • --graph 브랜치와 merge 히스토리 정보까지 ASCII 그래프(ASCII문자로 보여주는 그래프)로 보여준다.
    • ex) git log --oneline --decorate --graph --all
    • --pretty/--format 지정한 형식으로 보여준다.
      •      이 옵션에는 oneline, short, full, fuller, format이 있다.
      •      ex) --pretty=oneline, --format=oneline
    • format은 원하는 형식으로 출력하고자 할 때 사용한다. 
      • --pretty=format: "%h %s" --graph
      • --pretty=format:"%h - %an, %ar : %s"
      • --pretty=format 에 쓸 몇가지 유용한 옵션`
        %H 커밋 해시
        %h 짧은 길이 커밋 해시
        %T 트리 해시
        %t 짧은 길이 트리 해시
        %P 부모 해시
        %p 짧은 길이 부모 해시
        %an 저자 이름
        %ae 저자 메일
        %ad 저자 시각 (형식은 –date= 옵션 참고)
        %ar 저자 상대적 시각
        %cn 커미터 이름
        %ce 커미터 메일
        %cd 커미터 시각
        %cr 커미터 상대적 시각
        %s 요약
    • -n 최근 n 개만 조회
    • --since
    • --until
    • --author
    • --committer
    • --grep 커밋 메시지 안의 텍스트를 검색
    • -S 커밋 변경(추가/삭제) 내용 안의 텍스트를 검색
되돌리기
  • commit했을 때 수정하기
    • git commit --amend 커밋을 수정
    • 너무 일찍 커밋했거나,
    • 어떤 파일을 빼먹었을 때,
    • 그리고 커밋 메시지를 잘못 적었을 때 한다.
    • ex)
      • $ git commit -m 'initial commit' -> 커밋한 뒤
      • $ git add forgotten_file -> 빼먹은 파일을 add
      • $ git commit --amend -> 커밋 수정
  • Staging했을 때 수정하기
    •      git reset HEAD <file> Unstaged 상태로 변경
  • 아직 Staging하지 않았을 때 수정하기
    •      git checkout -- <file> Working directory에서 수정한 내용 되돌리기 !위험: 수정했던 내용은 사라져 다시 복구할 수 없다!


반응형