[Git] Visual Studio Code에 git 연동하기
DEVELOPMENT TOOLS/Git

[Git] Visual Studio Code에 git 연동하기

반응형

들어가기 전에

알고리즘 공부를 할 때에 VS code를 이용합니다. 이때, VS code에서 작성한 코드를 TIL으로 남겨보고자 Git에 연동방법을 찾아보게 되었습니다.

VS code에 git 연동하기

이미 github에 가입되어 있고, VS code가 설치되어있음을 가정하고 진행합니다.

 

1. 먼저, Git에 새로운 repository를 생성합니다.

새로운 repository 생성

아래와 같이 repository 정보 입력 후 Create repository를 클릭합니다. 생성된 레포지토리에서 Code를 누르고 복사 버튼을 클릭합니다.

  • repository 생성 시 특이점은, 예전과 다르게 default branch가 main이라는 점입니다.

repository code > clone 복사

2. VS code를 실행한 후 git에 연동하고자 하는 폴더를 엽니다. 그 후 왼쪽 탭에서 소스제어 아이콘을 클릭합니다.

소스 제어 아이콘 클릭

3. 현재 git 레포지토리와 연동된 부분이 없으므로, Initialize Repository 버튼을 클릭하여 초기화합니다.

Initialize Repository

4. 신규로 생성된 repository이기 때문에, 현재 폴더에 있는 항목 모두를 git에 올릴 수 있도록 changes 항목으로 표시됩니다.

  • github에 올리기 전 먼저 commit할 항목을 정하여 로컬 저장소에 반영해야 합니다.
    • commit할 항목을 정하는 방법은 아래 사진과 같이 + 버튼을 클릭하는 것으로, Changes의 +는 모든 항목에 대해 staging에 올릴 때 사용합니다.

staging된 변경 사항

5. 스테이징된 변경 사항들에 대해 commit을 하기 위해 아래 사진의 ✓ 버튼을 클릭합니다. 이때 commit 시 남길 메모를 입력할 수 있고, 메모 입력 후 enter를 누르면 로컬 저장소에 반영이 됩니다.

staging된 변경 사항 > commit

5번까지의 과정은 로컬 저장소에 commit한 것이라, git repository에 따로 변경사항이 보이지 않습니다. 이제는 github에 업로드해보겠습니다.

 

6. VS code에서 터미널 창을 열어봅니다. 터미널 창 여는 방법은 ⌃ + `를 클릭하거나, VS code 상단의 Views > Terminal을 클릭하면 띄울 수 있습니다.

VS code terminal 띄우기

7.  처음에 github repository를 만들 때에 clone 복사했던 주소를 사용하여 아래와 같이 명령어를 실행합니다. 하기 명령어를 실행하면, 원격 저장소를 지정할 수 있습니다.

git remote add origin [ 복사한 저장소 주소 ]

원격 저장소 지정

8. 원격 저장소에 있는 내용들을 로컬 저장소에 반영합니다. 먼저 원격 저장소에 존재하는 항목이 있을 수 있어 먼저 로컬 저장소로 땡겨와야 제대로 push가 가능합니다.

git pull origin main --allow-unrelated-histories
  • 기존에는 git pull origin master --allow-unrelated-hisories를 통해 로컬 저장소로 땡겨올 수 있었지만, 처음에 git repository 생성 시 확인했던 것처럼 default branch가 main이라 위처럼 명령어를 작성해야 합니다.

git 원격 저장소에 있는 내용 > 로컬 저장소에 반영

9. 로컬 저장소에 push한 내용을 원격 저장소에 반영합니다.

git push -u origin master
  • 현재, 로컬 저장소의 default branch가 master라 git push -u origin master로 했지만, 추후 local repository의 default branch를 main으로 바꾸면 git push -u origin main으로 해야 합니다.

로컬 저장소 내용 > git 원격 저장소에 반영

원격 저장소에 반영할 때에는 아래와 같이 github 허용 여부를 체크하는 부분이 나옵니다. 이 부분은 allow를 하고, 주어진 내용에 따라 잘 따라가면 됩니다.

local repository > github repository

10. push한 내용을 github repository에서 확인합니다.

현재, 로컬 저장소의 default branch는 master이고, github repository의 default branch는 main이라 아래와 같이 master > main으로 땡겨가야하는 부분이 있습니다.

 

먼저 Compare & pull request를 클릭하여 master > main으로 보낼 메시지를 작성하고 create pull request를 클릭합니다.

create pull request

그 후, main 브랜치에서 해당 request를 Merge pull request하여 main 브랜치로 보내면 아래와 같이 VS code에서 작업한 코드가 main branch에 올라감을 확인할 수 있습니다.

master > main

앞으로 매번, local repository의 default branch와 github의 default branch가 서로 달라 merge하는 이슈가 발생하지 않기 위해서는 아래의 local repository의 default branch 변경하는 방법을 수행하면 됩니다.

 

로컬 저장소의 default branch를 master에서 main으로 바꾸는 방법

위와 같이 매번 master에 올린 항목을 main에 올리는 것은 불편하기 때문에, 아래 방법을 통해 default branch를 main으로 바꿀 수 있습니다.

 

먼저, Git 2.28부터 default branch를 main으로 바꿀 수 있게 되었으므로, git version을 확인합니다. 필자의 경우 따로 git version 변경이 필요하지 않았으나 git 버전이 낮다면 brew upgrade git 명령어 사용 후 진행해야 합니다.

 

default branch를 변경하는 방법은 ~/.gitconfig 파일 내의 defaultBranch를 직접 변경할 수도 있지만, git config --global init.defaultBranch main 명령어를 사용하면 간단하게 변경이 가능합니다.

 

이제부터는 git init 명령어를 통해 로컬에서 repository 생성 시, default branch는 main으로 설정됩니다.

로컬 저장소의 default branch 변경

반응형