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는 워킹 디렉터리에 있는 파일 이외에도 다양한 위치에 있는 파일과 비교가 가능합니다. 

     

     

     

    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