반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- json
- 자바
- string
- ArrayList
- 인텔리제이
- list
- 정규식
- js
- Array
- Eclipse
- HashMap
- 단위테스트
- 문자열
- javascript
- 자바문법
- junit
- math
- 테스트자동화
- html
- input
- Visual Studio Code
- 이클립스
- Java
- CSS
- java테스트
- 자바스크립트
- vscode
- junit5
- 배열
- IntelliJ
Archives
- Today
- Total
어제 오늘 내일
[Git] 커밋 전 필수 루틴! git diff로 변경 내용 정밀 검사하 본문
git status가 "어떤 파일이 바뀌었는지" 알려준다면,
git diff는 "그 파일의 어느 줄이 어떻게 바뀌었는지"를 돋보기처럼 보여줍니다.
1. git diff란 무엇인가요?
diff는 'Difference(차이)'의 줄임말입니다.
서로 다른 두 상태(예: 마지막 커밋 vs 현재 수정 중인 코드)를 비교하여 변경된 구체적인 내용을 출력합니다.
- (마이너스): 삭제된 줄 (보통 빨간색)+ (플러스): 추가된 줄 (보통 초록색)
2. 상황별 git diff 활용법
① 아직 add 하지 않은 변경 사항 확인 (Working Directory)
가장 많이 쓰이는 상황입니다. 파일을 수정만 하고 git add를 하기 전 상태를 비교합니다.
git diff
② add 한 후의 변경 사항 확인 (Staging Area)
이미 git add를 해서 장바구니에 담긴 파일이 이전 커밋과 어떻게 다른지 확인합니다.
git diff --staged
③ 커밋끼리 비교하기
어제 했던 커밋과 오늘 했던 커밋의 차이를 보고 싶을 때 사용합니다.
git diff [커밋ID_A] [커밋ID_B]
④ 브랜치끼리 비교하기
메인 브랜치와 내가 작업 중인 브랜치의 차이를 확인합니다.
git diff main feature-login
3. 실제 출력 결과 읽는 법
터미널에 git diff를 입력하면 다음과 같은 화면이 나타납니다.
실제 출력 예시:
--- a/hello.java
+++ b/hello.java
@@ -1,5 +1,5 @@
public class Hello {
public static void main(String[] args) {
- System.out.println("Hello World"); // 삭제된 줄
+ System.out.println("Hello Git!"); // 추가된 줄
}
}
--- a/hello.java: 이전 파일 상태+++ b/hello.java: 현재 파일 상태@@ -1,5 +1,5 @@: 변경된 코드의 라인 위치 정보
4. 실무 꿀팁: 더 보기 좋게 확인하기
터미널의 텍스트가 읽기 힘들다면, 실무에서는 GUI 도구를 적극 활용합니다.
- VS Code: 왼쪽 [소스 제어] 탭에서 수정된 파일을 클릭하면 좌우(Side-by-Side)로 비교 화면이 뜹니다.
- IntelliJ:
Ctrl + D를 누르면 변경된 부분만 하이라이트된 전용 비교 창이 나타납니다.
📝 요약
git diff: 커밋하기 전, 내가 무엇을 고쳤는지 최종 점검하는 명령어다.--staged:add를 완료한 파일의 변경점을 확인할 때 쓴다.- 목적: 오타, 불필요한 공백, 테스트용 코드 등을 걸러내는 셀프 코드 리뷰 과정이다.
반응형
'IT > Git' 카테고리의 다른 글
| [Git] 브랜치 이름 변경하기 (로컬 & 원격 저장소) (0) | 2026.02.07 |
|---|---|
| [Git] 지저분한 파일들 한 방에 정리! git clean으로 저장소 청소하기 (0) | 2026.02.07 |
| [Git] "이 코드 도대체 누가 짰어?" git blame으로 코드의 역사 추적하기 (0) | 2026.02.06 |
| [Git] 내 코드에 버전 도장 쾅! git tag로 배포 버전 관리하기 (0) | 2026.02.05 |
| [Git] 하던 작업을 잠시 멈춰야 할 때: git stash 완벽 정리 (0) | 2026.02.05 |
Comments
