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>