Appia의 IT세상

[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기 본문

Development/GIT

[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기

Appia 2023. 11. 26. 07:07
반응형

[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기

[깃, Git] Git 차이점 확인하는 diff 명령어 사용하기

 

이전 포스팅에서는 Git merge Conflict(머지충돌)을 해결하는 방법에 대해서 살펴봤습니다. 앞선 포스팅에서 아마도 느끼셨겠지만, Git Merge 과정에서 많은 어려움을 겪을 수도 있습니다. 그래서 앞으로 겪을 문제상황을 해결하는 방법에 대해서 2개의 포스팅을 통해서 실제 각 파일을 열어서 수정하는 방법과 VSCode를 이용해서 해결하는 방법을 살펴봤습니다. 이번  포스팅에서는 git의 필수적인 요소는 아니나, 매우 많이 사용되고 있는 git의 차이점을 확인하는 git diff 명령어에 대해서 살펴보고자 합니다. 

 

[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)

 

[깃, Git]Git Merge란? (Feat. Fast-Forward Merge)

[깃, Git]Git Merge란? (Feat. Fast-Forwarding Merge) 앞선 포스팅들에서는 git branch(깃 브랜치)에 대해서 살펴봤습니다. 의미아, 보기, 생성하기, 삭제하기등을 여러 포스팅에 걸쳐서 이야기를 해봤습니다.

appia.tistory.com

 

먼저, git diff에 대해서 약간의 추가 설명을 해보고자 합니다. 일단, git diff의 경우 가장 쉽게 생각하시면, git에서의 변경사항을 보여주는 명령어 입니다. git diff를 통해서 확인할 수 있는 변경사항은 다음 4가지의 경우입니다. 

 

  • commit
  • working directory(작업 폴더)
  • 두개의 브랜치 간 또는 두개의 파일 사이에의 변경사항
  • 로컬과 리모트(Remote, 여기에서는 그냥 간단히 github라고 칭하겠습니다.)사이에서의 변경

git diff명령어는 git add / git commit과는 달리 repository에 어떤 작업도 하지 않습니다. 쉽게 이야기 드리면, git status 와 git log 명령어 처럼 repositoy에 어떤 작업도 하지 않고, repository에 어떠한 영향도 끼치지 않습니다. 그저 변경 사항에 대해서 순수하게 정보를 보여주는 명령어라고 생각하시면 됩니다. 

 

git diff의 명령어를 실행하는 방법은 매우 간단합니다. 다음과 같은 명령어를 git bash 창에 입력하고 실행하시면 됩니다. 

$ git diff

 

그럼 위의 명령어를 간단한 예시로 만들어서 실행을 해보도록 하겠습니다. 일단, git bash를 실행하신 후에, 앞서서 작업을 했던 repository를 열어보도록 하겠습니다. 제가 여기에서 repository를 연다고 했는데, 그냥 해당 repository가 있는 폴더로 이동한다고 생각하시면 됩니다. 

예제로 repository로 이동

 

그런 후에 git diff를 통해서 변경사항을 확인하기 위해서, 해당 repository에 존재하는 파일을 수정을 해보도록 하겠습니다. 저 같은 경우에는 마지막 줄(4번째줄) 에 "print"라는 글자을 추가하였습니다. 

git diff로 변동 사항을 확인하기 위한 예제 파일 수정

 

그런 후에 다른 파일 또한 함께 수정을 해보도록 하겠습니다. 여기에서는 conflict marker 부분만 삭제하였습니다. 

git diff로 변동 사항을 확인하기 위한 예제 파일 수정2.

 

위에서와 각각 파일을 수정을 하고 나서, 저장을 하도록 하겠습니다. 그리고 나서, git diff를 명령어를 실행해보도록 하겠습니다.  그러 다음과 같이 차이점에 대해서 나타납니다. (물론, 여기에서 git diff를 읽는 방법에 대해서는 무시하셔도 됩니다. 이 부분에 대해서는 다음 포스팅에서 다루도록 하겠습니다. )

git diff 결과

 

현재 저는 간단히 변경 사항을 만들었지만, 실제로는 엄청 많은 양은 데이터들이 출력이 됩니다. 그럼 여기에서 git status의 경우에는 어떻게 보여지는 지 같이 한번 살펴보겠습니다. git status를 실행하면, 변경사항에 대해서는 나타나지 않지만, 실제 어떤 파일들이 변경되었는지 확인이 가능합니다. 

 

git status의 결과

이와 같은 방법으로 현재 git의 변경 사항에 대해서 파악을 할 수 있습니다. 

이번 포스팅에서는 [깃, Git] Git 차이점 확인하는 diff 명령어 사용하기라는 주제로 살펴봈습니다. 실제, git의 동작에서는 크게 영향을 끼치지 않지만, 변경사항에 대해서 추적할 때에는 매우 유용하게 사용할 수 있습니다. 하지만, 실제로는 Gitkraken과 같은 GUI 툴을 통해서 변경사항을 확인하기 때문에, 많이 사용되지는 않습니다. 하지만, command 기반으로 사용하는 것을 선호하시는 분들에게는 아직도 매우 널리 사용됩니다. 직접 사용하지 않더라도, 해당 명령어에 대해서 숙지하고 계시길 바랍니다.

반응형
Comments