본문 바로가기
Development Tools/Git

[Git] Git Diff 명령어로 변경사항 꼼꼼하게 검토하기

by quessr 2024. 4. 1.

 

git diff 명령어는 Git에서 매우 유용하게 사용되는 도구 중 하나로, 두 커밋 사이의 차이점을 비교하거나,
작업 디렉토리와 인덱스(스테이징 영역) 또는 마지막 커밋과의 차이점을 확인할 때 사용된다.

로컬에서 작업한 내용을 원격지로 올리기 전, 변경사항 중에 문제가 없는지 확인하는 데 사용한다.
이를 통해 변경된 내용을 세밀하게 검토하고, 예상치 못한 변경사항을 발견하거나 수정 사항을 정리할 수 있다.

 

기본 사용법

  • 작업 디렉토리와 인덱스(스테이징 영역) 비교:
    변경사항이 스테이징 영역에 추가되지 않은 경우, 즉 git add를 실행하지 않은 변경사항을 확인할 때 사용한다.
git diff

 

  • 인덱스(스테이징 영역)와 마지막 커밋 비교:
    스테이징 영역에 추가된 변경사항과 마지막 커밋과의 차이를 확인할 때 사용합니다. 이는 커밋하기 전에 변경사항을 검토하기 위해 사용 된다.
git diff --cached

 

  • 두 커밋 비교:
    특정한 두 커밋 사이의 차이점을 확인할 때 사용한다. 이때 커밋 해시를 사용하여 두 커밋을 지정한다.
git diff <commit1> <commit2>

 

옵션과 활용

  • 파일 이름만 출력:
    -–name-only 옵션을 사용하면 변경된 파일의 목록만 출력된다.
git diff --name-only <commit1> <commit2>

 

  • 통계 출력
    -–stat 옵션을 사용하면 각 파일의 변경된 행 수와 같은 통계 정보를 요약해서 보여준다.
git diff --stat <commit1> <commit2>

 

  • 패치 형식으로 출력:
    기본적으로 git diff는 패치 형식으로 변경사항을 보여줍니다. 이는 변경된 내용의 세부 사항을 확인할 수 있게 해준다.

주의사항

  • git diff는 로컬 저장소의 정보를 기반으로 작동하기 때문에, 원격 저장소의 최신 상태와 비교하려면 먼저 git fetch를 실행하여 원격 저장소의 최신 상태를 로컬 저장소에 반영해야 한다.
  • git diff는 변경사항을 비교하는 데 사용되며, 실제로 파일을 병합하거나 변경사항을 적용하는 데 사용되지 않는다.