Git히스토리와 복구

log와 diff 읽기

커밋 히스토리와 실제 변경 줄을 읽어 무엇이 언제 어떻게 바뀌었는지 추적하는 Git 기본 카드입니다.

마지막 수정 2026년 3월 19일

기본 패턴

text
git log --oneline --graph --decorate
git diff
git diff --staged

설명

  • git log는 커밋 히스토리의 흐름을 읽는 명령이고, git diff는 실제 줄 단위 변경을 보는 명령입니다.
  • --oneline --graph --decorate 조합은 브랜치 구조와 커밋 관계를 빠르게 읽는 데 특히 유용합니다.
  • git diff는 아직 스테이징되지 않은 작업 트리 변경을 보여 줍니다.
  • git diff --staged는 다음 커밋에 들어갈 스테이징된 변경만 보여 줍니다.
  • 두 명령을 함께 쓰면 "무슨 커밋이 있었는가"와 "그 커밋이 실제로 무엇을 바꿨는가"를 구분해 볼 수 있습니다.

짧은 예제

text
git log --oneline --graph --decorate -5

git diff
# 아직 add 하지 않은 수정 확인

git diff --staged
# 다음 commit에 들어갈 내용 확인

빠른 정리

명령역할
git log커밋 이력 확인
git log --oneline짧은 한 줄 이력 확인
git log --graph브랜치 구조를 시각적으로 확인
git diff작업 트리 변경 확인
git diff --staged스테이징된 변경 확인

주의할 점

커밋 메시지만 보고 실제 변경 내용을 판단하면 오해가 생길 수 있습니다. 문제가 생겼을 때는 logdiff를 함께 보는 습관이 가장 빠르게 원인을 좁혀 줍니다.

참고 링크

2 sources