Visual Studio Code 로 개인공부를 하다가 형상관리가 필요할 것 같아 github 와의 연동을 해보며 간략히 정리하는 글이다. 이전 직장에서는 이클립스로 svn을 연동하여 소스들을 형상관리해왔기에 이번에는 github로 시도해보고 싶었다.
1. GitHub Repository(원격 저장소) 생성
깃허브 계정이 있다는 전제하에 첫번째로 깃허브에서 repository를 생성한다.
두번째 Repositories 탭을 클릭하여 우측의 New 버튼을 클릭하여 repository를 생성한다.
repository 이름, 공개 범위(public or private)를 정하고 나서 Add a README file(해당 프로젝트의 설명, 라이센스등 부가적인 설명을 명시하는 파일) 을 체크하면 최초커밋으로 README 파일이 자동으로 생성되는데 ③에서 default branch가 main 으로 설정되어 있기때문에 branch 명이 main으로 설정된다.(settings에서 수정가능)
repository를 생성하고 나서 우측상단의 code 버튼을 클릭하면 원격저장소의 URL을 확인할 수 있다.
2. Local 저장소 생성
다음으로는 Local 저장소를 생성하기 위해 vscode를 실행하여 우측 세번째 아이콘을 클릭하여 Source Control 탭으로 이동한다.
git에 아무것도 올린게 없기때문에 repository 초기화(터미널에서 해당경로로 이동 후 git init을 실행시켜도 무방)를 클릭하여 repository를 생성한다. 혹시라도 create-react-app 으로 프로젝트를 만드신분들은 해당 폴더 경로에 이미 .git 폴더가 존재하고 있을 수 있다. (mac의 finder에서는 보이지않고 터미널에서 해당경로로 이동하여 ls -al명령어로 확인가능) rm -rf .git 명령어로 git 폴더를 지우고 새로고침을 클릭하면 위 화면이 표출된다.
git형상관리를 하기 이전에 git user.name과 user.email과 설정해줘야 한다.
터미널에서 아래와 같이 명령어를 실행하여 설정한다.
설정이 완료된 이후에는 git config --list 명령어를 통해 설정을 확인해 볼 수 있다.
git config --global user.name "이름"
git config --global user.email "깃허브 이메일"
repository를 생성하고 나면 default branch가 master로 생성된 것을 확인할 수 있는데 git에서는 20년 10월부터 master/slave라는 주종관계를 연상시키는 명칭 때문에 main으로 default branch를 바꿨다고 한다. 아무튼 위에서 원격저장소를 생성시에도 main으로 만들었기에 main으로 branch를 바꿔준다.
git branch -M main // 현재 branch를 main으로 변경
branch를 바꾸다가 위와 같은 오류가 발생한다면 ② Souce Control 화면에서 Changes 우측의 + 버튼을 클릭(== 터미널에서 git add 파일명, git add . 은 수정사항이 있는 모든파일)하여 스테이지로 올리고 바로 상단에 Commit Messege 입력 후 체크버튼이나 Commit을 클릭(== 터미널에서 git commit -m 커밋메세지내용)하여 한번 커밋을 해주고 다시 명령어를 실행해보면 정상적으로 바뀐다.
3. 원격저장소 연결
git remote add origin https://github.com/github계정이름/remote repository이름.git
원격 저장소 생성시 확인했었던 URL을 위 명령에 제일 뒤에 붙여넣고 실행한다.
git pull origin main --allow-unrelated-histories // pull
원격저장소에서 변동사항이 없는지 pull 을 받고
git push -u origin main // push
위 명령어로 push를 하면 원격저장소에서 정상적으로 업로드 된 것을 확인할 수 있다.