티스토리 뷰
● 에디터로 git 사용하기
- 터미널에 git add, git commit 같은 명령어를 직접 입력하는 것 외에 에디터의 기능을 이용하는 경우도 있다.
- 대부분의 에디터에는 git 기능이 내장되어 있어서 별도의 터미널을 켤 필요없이 편리하게 add, commit이 가능하다.
- git 기능이 없는 에디터면 git 부가 기능을 설치하면 된다.
- VSCode의 경우 왼쪽의 git 메뉴를 들어가보면 현재 어떤 파일이 변경되고 추가되었는지 알려준다.
- '+'는 git add와 동일, 'V'는 git commit 과 동일한 기능이다. 커밋 메세지도 입력할 수 있다.
cf) '-'는 git add 취소
● git diff
- commit 하기 전에 이전 코드와 현재 코드가 어떤 차이가 있는지 알고 싶을 때가 있다.
- 이때 바로 git diff 명령어를 사용하면 된다. git diff 명령어를 이용해 차이점을 출력할 수 있다.
- 해당 명령어를 통해 바로 전 commit과 현재 코드의 차이점을 비교할 수 있다.
- 코드를 조금 수정한 다음 터미널에 git diff를 입력해보면 위 사진과 같이 현재 파일과 최근 commit 된 파일의 차이점을 볼 수 있다. (이때 Vim 에디터가 오픈되어서 스크롤은 j, k / 종료는 q 연타)
- 참고로 git diff를 위해 먼저 staging 할 필요는 없다. 단순히 ctrl + S 후에도 git diff 명령어를 사용할 수 있다.
- 그러나 사진과 같이 터미널 UI가 구려서 차이점을 알아보기가 힘들고 설정을 별도로 하지 않으면 단순 엔터키나 스페이스바 변동 사항도 다 보여주기 때문에 일반적으로 git diff를 그대로 사용하지는 않는다.
- 이를 해결할 수 있는 Extensions을 설치하기 전에 유용한 git diff 명령어 몇개만 알아보자
git diff 커밋id
- 최근 commit과 비교하는게 아니라 과거의 특정 commit과 현재 파일을 비교하고 싶을 때 커밋ID를 명시해주면 된다.
- 커밋ID : git log --oneline 입력했을 때 보이는 노란 글자
git diff 커밋id1 커밋id2
- 특정 commit 2개 간의 차이점 비교
● git difftool
- git difftool을 이용하면 차이점이 조금 더 보기 좋게 출력된다.
git difftool
- 현재 파일과 최근 commit의 차이점 비교
git difftool 커밋id
- 현재 파일과 특정 commit의 차이점 비교
git difftool 커밋id1 커밋id2
- 특정 commit 2개의 차이점 비교
- difftool도 Vim 에디터가 오픈되어서 hjkl 키로 이동가능, :q 여러번 입력해야 나갈 수 있다.(아니면 :qa 입력)
- 사실 Vim 에디터와 터미널의 한계로 difftool도 그렇게 편리하진 않다.
cf) git difftool을 Vim 말고 VSCode로 열고 싶으면 아래의 명령어를 터미널에 차례로 입력하면 된다.
git config --global diff.tool vscode
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
● Git graph Extensions
- 터미널에서 git difftool 명령어를 사용할 필요 없이 Extensions 메뉴에서 Git 관련 부가 기능을 설치하면 더 편리하게
git diff 할 수 있다.
- 이번 글에서는 Git graph Extensions을 설치해보자
- 설치 후 Git 메뉴에서 Git graph 버튼을 누르면 commit 내역을 한 눈에 볼 수 있고 파일명 우클릭하면 git diff도 가능하다.
- 과거 내역을 살펴보고 싶을 때 이런 GUI 툴을 활용하면 좋다.
'Git' 카테고리의 다른 글
#6 git revert, reset, restore (0) | 2022.11.10 |
---|---|
#5 다양한 merge 방법 - 3-way / fast-forward / rebase / squash / branch 삭제 (1) | 2022.11.08 |
#4 branch, merge, conflict (1) | 2022.11.03 |
#2 git commit, add로 파일 버전 생성 / staging area & repository (0) | 2022.10.31 |
#1 Git 설치 (0) | 2022.10.30 |
- Total
- Today
- Yesterday
- 코테
- 프로그래머스
- SQL
- OS
- db
- 자료구조
- DART
- Stream
- 메모리
- Java8
- 운영체제
- 코딩테스트
- Phaser3
- 알고리즘
- java
- MySQL
- Advanced Stream
- MongoDB
- 빅데이터
- Spring Boot
- node.js
- nosql
- SpringBoot
- git
- spring
- jpa
- API
- 빅데이터 분석기사
- Phaser
- 프로세스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |