0:00 git commit 뭐하러 터미널에 입력함
1:08 오늘 배울거 git diff
4:55 에디터 부가기능같은거 설치하는게 git log, git diff 편함
저번시간에 터미널에서 git add, git commit 5번 정도 입력해보라고 했는데 해오셨습니까?
잘했읍니다.
근데 요즘은 터미널에 직접 git add 이거 입력하는게 개뻘짓일 수 있습니다.
웬만한 에디터들 보면 git 기능이 내장되어있어서
그거 쓰면 터미널 켤 필요없이 편리하게 add, commit 가능합니다.
(git 기능 없는 에디터면 git 부가기능 설치하면 됩니다.)
▲ VSCode 에디터의 경우 왼쪽 git 처럼 생긴 메뉴 들어가보면
지금 어떤 파일이 변경되고 추가되었는지 쭉 알려줍니다.
+ 누르면 git add 한거랑 똑같고
체크마크 누르면 git commit 한거랑 똑같습니다.
파일이 많고 복잡하면 이거 쓰는게 더 나을 수도 있습니다.
git diff 로 차이점 출력해줄 수 있음
commit 하기 전에 이전과 현재 코드가 어떤 차이가 있는지 알고 싶습니까.
그럼 git diff 명령어를 쓰면 됩니다.
바로 전 commit과 현재 코드의 차이점을 비교해줍니다.
코드 조금 수정해본 다음에 터미널에 git diff 입력해봅시다.
그럼 현재 파일이 최근 commit과 어떤 부분이 달라졌는지 알려줍니다.
(근데 Vim 에디터가 오픈되어서 스크롤은 j, k / 종료는 q 연타해야합니다)
하지만 터미널의 한계로 차이점보기가 힘들고
설정 안만지면 쓸데없이 엔터키나 스페이스바 변동사항도 다 알려주기 때문에
보통은 git diff를 쌩으로 사용하진 않습니다.
하지만 구글검색 노출순위를 높이기 위해
우리 같이 유용한 git diff 명령어 몇개만 알아볼까요? ^0^
git diff 커밋id
최근 commit과 비교하는게 아니라 과거의 특정 commit과 현재 파일을 비교하고 싶으면 커밋ID를 명시해주면 됩니다.
(커밋ID는 git log --oneline 이런거 입력하면 보이는 노란 글자들입니다)
git diff 커밋id1 커밋id2
과거의 특정 commit 2개 간의 차이점 비교도 가능합니다.
git difftool 이용하면 조금 더 보기좋음
이거 쓰면 비주얼적으로 훌륭하게 차이점을 분석해줍니다.
git difftool
입력하면 현재 파일과 최근 commit의 차이점을 비교해줍니다.
git difftool 커밋id
입력하면 현재 파일과 특정 commit의 차이점을 비교해줍니다.
git difftool 커밋id1 커밋id2
입력하면 특정 commit 2개의 차이점을 비교해줍니다.
▲ 이것도 Vim 에디터가 뜨는데
hjkl 키로 이동가능하고 :q 여러번 입력해야 나갈 수 있습니다. 아니면 :qa 입력하셈
이것도 실은 Vim 에디터와 터미널의 한계로 그렇게 편리하진 않습니다.
git config --global diff.tool vscode
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
터미널에 차례로 2개 입력하면 됩니다.
git diff 말고 에디터 부가기능 쓰는게 더 좋을 수도
요즘 에디터들 잘되어있는데 뭐하러 터미널에서 git difftool 입력합니까.
VSCode 에디터의 경우 좌측 Extensions 메뉴에서
Git 관련 부가기능 설치 아무거나 해주면 더 편리하게 git diff 할 수 있습니다.
▲ VSCode 에디터 extension 메뉴에서 git 검색해서 아무거나 설치해봅시다.
저는 Git graph 부가기능을 설치해보겠습니다.
▲ 왼쪽 Git 메뉴 - Git graph 버튼 누르면
commit 내역을 한 눈에 쭉 살펴볼 수 있고 파일명 우클릭하면 git diff도 가능하니
과거 내역을 살펴보고 싶으면 이런 GUI 툴을 주로 활용해봅시다.
Q. git은 자고로 터미널로 조작해야지 요즘 신입들은 편한 것만 찾고 말이야 쯧쯧
A. 본인이 편한거 쓰는게 젤 좋습니다.