강의/Git & Github 실무 활용 완벽 가이드

Git diff 사용법: 변경 사항 비교와 추적

studylida 2025. 2. 5. 02:30

Git Diff: 변경 사항 비교와 활용

1. git diff 개요

git diff는 변경된 내용을 비교하는 명령어입니다.
수정된 파일에서 어떤 부분이 추가되거나 삭제되었는지를 한눈에 확인할 수 있습니다.

git diff
  • 스테이징되지 않은 변경사항을 비교
  • -는 삭제된 줄, +는 추가된 줄 표시

2. git diff 실행 결과 읽기

diff --git a/colors.txt b/colors.txt
@@ -3,4 +3,5 @@
- purple
+ indigo
+ violet
  • diff --git a/file b/file → 비교하는 파일 정보
  • @@ -3,4 +3,5 @@이전(3번째 줄부터 4줄) vs 수정된 내용(3번째 줄부터 5줄)
  • - purple → 삭제된 내용
  • + indigo, + violet → 추가된 내용

3. 스테이징되지 않은 변경 사항 확인

git diff
  • 워킹 디렉토리 vs 스테이징 영역 비교
  • git add 하기 전 변경된 내용만 출력
git status
git diff  # 스테이징되지 않은 변경 사항 확인

4. 스테이징된 변경 사항 확인

git diff --staged

또는

git diff --cached
  • 스테이지 영역 vs 마지막 커밋(HEAD) 비교
  • git add로 등록된 변경 사항만 출력
git add colors.txt
git diff --staged  # colors.txt의 스테이징된 변경 사항 비교

5. 마지막 커밋과 비교

git diff HEAD
  • HEAD(마지막 커밋) vs 현재 변경 사항 비교
  • 스테이징 여부와 관계없이 변경된 모든 내용 출력
git add colors.txt
git diff HEAD  # 스테이지에 등록된 내용도 포함하여 비교

6. 특정 파일의 변경 사항 확인

git diff [파일명]
  • 특정 파일의 변경 사항만 출력
git diff HEAD colors.txt  # 마지막 커밋과 비교  
git diff --staged colors.txt  # 스테이징된 변경 사항만 비교  

7. 브랜치 간 변경 사항 비교

git diff 브랜치1..브랜치2
  • 브랜치1브랜치2 사이의 변경 사항 비교
git diff master..feature  # master와 feature 브랜치 비교
git diff master..feature -- colors.txt  # 특정 파일만 비교

8. 특정 커밋 간 변경 사항 비교

git diff 커밋1..커밋2
  • 두 커밋 사이에서 변경된 내용 비교
git log --oneline  # 커밋 목록 확인
git diff abc123..def456  # 커밋 해시를 사용하여 비교

9. Git Diff 연습

연습 링크

🎯 스테이징되지 않은 변경 사항 확인

echo "blue" >> colors.txt
git diff

🎯 스테이징된 변경 사항 확인

git add colors.txt
git diff --staged

🎯 마지막 커밋과 변경 사항 비교

git diff HEAD

🎯 브랜치 간 차이 비교

git diff master..feature

10. Git Diff 요약

명령어 설명
git diff 스테이징되지 않은 변경 사항 비교
git diff --staged 스테이징된 변경 사항 비교
git diff HEAD 마지막 커밋 이후의 모든 변경 사항 비교
git diff [파일명] 특정 파일의 변경 사항 비교
git diff 브랜치1..브랜치2 두 브랜치 간 변경 사항 비교
git diff 커밋1..커밋2 특정 커밋 간 변경 사항 비교

git diff를 활용하면 변경 사항을 효율적으로 추적하고 커밋 전 수정 내역을 검토할 수 있습니다.