[Git]  코드 변화 확인하기 - git diff
Git

[Git] 코드 변화 확인하기 - git diff

728x90

출처 - https://ositcom.com/blog/learn-git-today/

git diff 란?

파일간의 어떤 내용이 변경되어는지 차이점을 비교하기 위해 사용한다.

Working Directory와 Staging Area간의 비교도 가능하고 Commit간의 비교, branch간의 비교도 가능하다.

 

주로 VScode같은 툴에서 변경 내역을 확인할 수 있는 기능을 지원해줘서 거기서 확인했었는데

CLI환경에서는 git diff로 변경내역 확인 기능을 사용할 수 있다.

git diff 사용하기

  • git diff : Working Directory와 Staging Area 사이의 차이 확인
  • git diff HEAD : Working Directory HEAD Commit에 대한 Change 확인

출처 - https://kotlinworld.com/278

구글 서칭을 하다가 위 그림을 보고 이해가 쉽게 되었다.

git diff는 Working Directory와 Staging Area 사이의 차이를 확인하기 위한 명령어이며, git diff HEAD는 현재 작업중인 내용이 Repository의 HEAD Commit과 다른 점을 총괄적으로 보여주기 위한 명령어이다.

명령어 정리

  • git diff -> commit된 파일상태와 현재 수정중인 상태 비교
  • git diff --staged -> commit된 파일상태와 add된 파일 상태 비교
  • git diff [비교할commit해쉬1] [비교할commit해쉬2] -> commit 간의 상태 비교하기(hash)
    ex) git diff 048171 0c747d
  • git diff HEAD HEAD^ -> commit 간의 상태 비교하기(HEAD)
  • git diff [비교할branch1] [비교할branch2] -> branch간의 상태 비교하기(HEAD)
    ex) git diff feature/test origin/master (local의 geature/test 브랜치와 remote의 master branch 비교)

예시 확인

삭제된 부분은 빨간색, 추가된 부분은 초록색으로 표시

  • git diff

위 처럼 변경사항이 생기면 git diff로 확인가능

  • git diff --staged

add 명령어 치고 나면 git diff로 출력 안됨 

add 후에 비교하고 싶으면 "git diff --staged" 명령어 사용

  • git diff [commit 해시1] [commit 해시2]

git log로 commit 해시값 확인

해시값으로 commit 사이의 변경값 비교 확인

  • git diff HEAD HEAD^

HEAD 값으로 비교 확인 가능

728x90