GIT

[Git] git diff

찰리-누나 2022. 12. 29.

 

 

 


변경 내용을 보여주는
git diff

 

 

커밋은 터미널 명령어로 할 수 있지만, VsCode를 사용하면 깃 전용 메뉴를 이용해 GUI로 처리할 수도 있다. +버튼을 누르면 add를 실행해주고, - 버튼을 누르면 resotre를 실행해준다. 체크 버튼을 누르면 스테이징한 파일들이 커밋된다.

 

commit 메세지를 '텍스트 두번째 줄 추가' 로 주고, 체크버튼을 눌러 commit 해 주었다. git log -all --online을 이용해 전체 깃로그를 확인해보니 커밋이 정상적으로 되었음을 알 수 있다.

gui로도 커밋을 할 수 있다.

 

[ git diff ] commit 전, 이전과 현재의 코드가 어떤 차이점이 있는지를 알려주는 명령어이다. 텍스트파일에 diff를 알아보기 위해 문장을 추가하고, 저장한 뒤 add와 commit을 실행하지 않고 git diff를 입력해본다.

직전 commit에 대비하여 변경된 내용을 출력해준다.

그런데 조금 이상한 내용이 있다. 실제로 수정된 부분은 마지막 줄인 '텍스트 파일에 세번째 줄 추가... ' 부분밖에 없는데, 바로 윗줄인 '텍스트 파일에 두 줄 추가.' 부분까지 변경되었다고 알려주는 것이다. 저 부분에서 엔터키를 입력했기 때문인데, 터미널의 한계와 이러한 엔터키 등의 변동사항까지 자잘하게 알려주는 부분 때문에 git diff를 일반적으로 사용하는 경우는 잘 없다고 한다.

 

[ git difftool ] 이라는 명령어를 실행하면 Vim에디터를 실행할 수 있다. :q 또는 :qa로 종료할 수 있다. 시각적으로 일반 diff보다 나은 에디터를 제공해주는 명령어이다.

 

[ git difftool 커밋아이디 커밋아이디2 ] 를 입력하면 특정 커밋끼리의 내용을 비교할 수 있다. 커밋의 아이디는 git log all 명령어를 사용했을 때 확인할 수 있다. 05ed6a4와 현재의 내용을 비교해보자.

 

커밋 아이디 /  git difftool 05ed6a4 를 입력하고, Y를 누르면 VIM 에디터가 실행된다.
Vim 에디터로 출력한 변경사항

 

굳이 Vim 에디터를 사용해 볼 필요 없이, VsCode의 경우 확장 기능(익스텐션)을 사용할 수도 있다. Git Graph를 검색하고 install을 눌러 다운로드 해 주었다.

 

VsCode의 Git메뉴에서 그래프모양 버튼을 클릭하면 현재까지의 커밋 결과가 기록되어 있다.우측의 파일 이름을 클릭하면, Vim 에디터에서 보여주던 것 처럼 변경 내용을 살펴볼 수 있다.

 

'GIT' 카테고리의 다른 글

[Git] git branch  (0) 2022.12.29
[Git] 깃 설치와 git add , git commit, git restore  (0) 2022.12.29

댓글