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는 변경사항을 비교하는 데 사용되며, 실제로 파일을 병합하거나 변경사항을 적용하는 데 사용되지 않는다.
반응형
'Development Tools > Git' 카테고리의 다른 글
[Git] Git Cherry-Pick으로 다른 브랜치의 커밋 적용하기 (0) | 2024.07.09 |
---|