git diff 명령어
보통 다음의 경우에 해당하는, 파일의 어떤 내용이 변경되었는지 차이점을 보여주는 명령어
1. 작업 중인 디렉터리(Working Directory)와 Staging Area 또는 저장소 사이의 차이점 비교
2. (HEAD) commit 또는 branch 간의 차이점 비교
※ Staging Area 란?
변경 사항이 저장소(repository)에 커밋되기 전에 반드시 거치는 (준비하는) 중간 단계이다. 의역하면 준비 구역이란 의미로 다른 버전 관리 툴에는 없는 공간 개념이다. 물론 저장소가 추적 가능한 목록을 유지하고 해당 파일에 대한 메타데이터를 관리하는 것은 다른 저장소에도 있지만, Staging Area처럼 커밋될 예정인 파일들의 내용까지는 기억하지는 못한다.
명령 순서의 예로 보면, git commit 하기 전, git add 명령어를 실행하면 Working directory에서 Staging Area로 저장된다. 이때 git diff 명령어를 사용하면 이 두 구역간의 차이점을 비교할 수 있다.
git diff 관련 명령어 예제들
git diff
- 이미 commit된 파일의 상태와 현재 수정 중인 파일을 비교한다
- Working Drectory와 Staging Area 간의 차이 비교
git diff --stage
이미 commit 된 파일의 상태와 add 된 파일 상태를 비교한다
- 저장소(repository)와 Staging Area 간의 차이 비교
git diff HEAD HEAD^
-HEAD를 이용, commit 간의 상태를 비교, 가장 최근의 커밋과 그 전의 커밋을 비교한다
- 저장소(repository)와 Staging Area 간의 차이 비교
git diff [비교할 commit hash1] [비교할 commit hash2]
- commit hash값을 이용, 커밋 간의 상태를 비교한다
git diff [비교할 branch1] [비교할 branch2]
- branch를 이용, branch간의 상태를 비교한다
'Linux & GIT' 카테고리의 다른 글
git reset 명령어 (0) | 2022.07.20 |
---|---|
git clean 명령어 사용법 (0) | 2022.07.19 |
git commit message 잘못 입력시 복구 방법 (0) | 2021.12.03 |
git 커밋 메시지 템플릿 작성, 설정 (0) | 2021.11.26 |
git fetch --prune 명령 (0) | 2021.11.17 |
댓글