기타

[git]vscode에서 git 다루기

이수민 2023. 6. 4. 21:30

버전관리 git, github (tistory.com)

 

버전관리 git, github

흔히 우리가 잘못 작성한 것이 있다면. 무엇을 하는가? 바로 Ctrl+Z이다. 우리는 소스코드 작성할 때에도 Ctrl+Z를 종종사용한다. 하지만 이미 저장을 마친 상태에서 아주 오래전의 코드의 상태로

sumsum2.tistory.com

CLI글은 위에 링크를 첨부할 테니 참고하면 좋다.

위 글에서 CLI기반으로 .gitconfig 파일을 수정하니까 참고하고 시작하는 게 좋다.

 

git을 어느정도 다룰 줄 알고 vscode에서 git을 다루는 법이 궁금한 사람은 위 링크를 참고하지 않고 바로 보아도 괜찮다.

 

git을 CLI로만 다루는 것에 익숙해져있다가

vscode에서 terminal만 있는 게 아니라 따로 git을 다루는 시스템이 있다고 하여서 포스팅을 해본다.

써보니까 소스트리나 github desktop도 가끔 사용하고는 했는데 vscode도 은근히 간편한 것 같다.

당연히 이것은 어떠한 코드를 작성하기 위해 폴더를 열고 있을 때 동작한다.

소스 컨트롤 탭

폴더를 열면 보이는 탭에서 소스 컨트롤 탭을 누른다.

여기서 git init이라는 CLI의 방법을 이전에 포스팅했었다.

이 버튼을 누르면 git init으로 .git folder가 생긴다.

 

그게 아니라 깃허브 원격 레포에서 가져온다면

이걸 누르고 clone할 repo url을 붙여넣기 하면 된다.

 

각설하고 다시 해당 .git이 생성되면 위와 같이commit할 창이 나온다.

다만 이때 반드시 바꾸거나 새로 생성한 내용은 save를 해줘야한다.

그 후 + 를 눌러준다

git add . 의 효과와 같다.

 

이후에 commit

CLI : git commit - m "message"

commit 하면 다음과 같은 화면으로 변함

 

이런식으로 git commit을 하면 되고

 

확장 툴 중에서 git Graph라는 걸 install 한다

좀더 육안으로 보기 편하게 branch로 만들어 보겠다.

graph 버튼

저 그래프 탭은 소스컨트롤 탭의 그래프 아이콘을 누르면 나온다.

 

create branch 클릭

git branch <branch_name>의 입력과 같으며

checkout 옵션을 주면 git checkout -b <branch_name>의 역할을 한다.

 

HEAD -> new_branch, main의 상태이다.

저 큰 O가 바로 HEAD이다

 

git log와 비교

 

new_branch에서 몇번 더 commit을 한다.

 

이후에 main branch로 체크아웃하여 몇번 더 commit을 한다.

 

checkout 하는 법 : 

1. CLI : git checout main, log_id

2. GUI : 저 메인버튼 더블클릭 or main 줄에서 우클릭하여 체크아웃

 

다음과 같음.

 

이제 main과 new_branch를 merge 해본다.

 

 

merge

1. CLI : main같이 남길 branch로 checkout후, git merge <병합하여 사라질 branch_name> 입력.

2. GUI : main같이 남길 branch로 checkout후, 우클릭하여 Merge into Current branch...

 

여기서 Merge into Current branch...를 누르면 추가 팝업으로 뭐라뭐라고 뜨는데 그냥 Yes, merge를 누르면 된다.

 

충돌했다.

이것도 충돌 처리하는 editor로 가라고 팝업이 뜨는데 그리로 가서 수정을 해주기도하고 해당 file을 고치기도 한다.

나는 충돌 처리하는 editor에서 처리를 했다. 

 

 

위와 같은 결과가 나온다. 두 브랜치 병합에 성공했다는 뜻.

 

원격 repo와 연결되어있다면 push pull도 여기 ... 탭에서 할 수 있다.

GUI로 원격 repo와 연결하는 법은 잘 모르겠다. 방법이 있을 것 같기는 하지만 CLI로 설정정보 수정을 평소 해왔기 때문에

.gitcofig 파일에 설정정보를 등록 정도는 CLI로 해도 괜찮지 않을까 싶다.

 

vscode GUI 장점 :  Graph기능은 정말 유용하다. git log보는 것 보다 훨씬 가독성이 좋고 Head detached 안 일어나게끔 많이 도움되는 것 같다.

vscode GUI 단점 : 느리다. commit 속도가 너무 느려 자꾸 add와 commit 순서가 꼬여 버벅거리곤 했다.

 

개인적으로는 평소 commit은 CLI로 하다가 분기가 헷갈릴 때에는 Graph로 확인하는 식으로 할 것 같다.

상당히 기능이 괜찮고 git 사용이 힘든사람에게 추천한다.

GUI환경을 계속 다루다보면 git을 쉽게 익히고 이후에 CLI로 자연스럽게 넘어갈 수 있을 것이라는 생각이 든다.