yoongrammer

git diff 사용하기 본문

VCS (Version Control System)/git

git diff 사용하기

yoongrammer 2020. 11. 29. 22:14
728x90

목차

git diff 사용하기


git diff 명령어는 어떤 파일의 수정 내용을 비교하는 명령어입니다.

 

 

아무런 옵션이 없으면 워킹 디렉터리에 Unstaged 된 파일을 비교합니다.

$ git diff

 

임의로 워킹 디렉터리에 파일을 만들고 수정하여 diff를 해보도록 하겠습니다.

$ echo "hello world" > test.txt

$ git commit -am "add test.txt"

$ echo "new" >> test.txt

 

git diff를 하면 아래와 같은 내용을 출력합니다.

$ git diff 
diff --git a/test.txt b/test.txt
index a042389..f5be8ac 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,2 @@
hello world
+new

출력 내용을 간단히 알아보도록 하겠습니다.

 

a/test.txt ,b/test.txt에서 a는 이전 버전이라는 의미하고 b는 현재 버전을 의미합니다.

diff --git a/test.txt b/test.txt

이전 버전 test.txt 파일과 현재버전 test.txt 파일을 비교한다는 의미입니다.

 

마이너스 (-)는 이전 버전을 플러스(+)는 현재 버전을 의미하고 뒤에 숫자는 라인을 의미합니다.

@@ -1 +1,2 @@
hello world
+new

이전버전 첫 번째 라인(-1)과, 현재 버전 첫 번째부터 두 번째라인(+1,2)까지 비교했다는 의미입니다.

현재 버전 두번째 라인에 new문구가 추가된 점이 다르다는 것을 확인할 수 있습니다.

 

 

git diff는 워킹 디렉터리에 있는 파일 이외에도 다양한 위치에 있는 파일과 비교가 가능합니다. 

 

728x90

 

Staging area에 있는 것을 비교하는 방법


git diff --staged
or
git diff --cahched

Branch 간 비교방법


git diff <branch명> <다른 branch명>

비교 대상이 로컬 브랜치와 리모트 브랜치라면 

git diff <branch명> origin/<branch명>

COMMIT 간 비교 방법


<commit>에는 커밋 해시값을 넣어야 합니다.

git diff <commit> <commit>

commit 사이를 비교하고 싶다면 커밋사이에 ...을 넣으면 됩니다.

git diff <commit>...<commit>
728x90
Comments