
Visual Studio Code로 공부하면서 설정 관리가 필요할 것 같아서 github에 접속을 시도하면서 간략하게 정리한 내용입니다. 이전 직장에서 이클립스와 svn을 통합하여 소스를 관리했었기에 이번에는 github로 해보고 싶었습니다.
1. GitHub 리포지토리(원격 리포지토리) 생성
GitHub 계정이 있다고 가정하고 먼저 GitHub에 리포지토리를 만듭니다.

두 번째 Repositories 탭을 클릭하고 오른쪽의 New 버튼을 클릭하여 리포지토리를 생성합니다.

리포지토리 이름과 공개 범위(공용 또는 비공개)를 설정한 후 README 파일 추가(프로젝트 설명, 라이선스 등 추가 설명을 지정하는 파일)를 체크하면 최초 커밋과 함께 자동으로 README 파일이 생성됩니다. ③에서는 기본 브랜치가 main으로 설정되어 있으므로 브랜치 이름도 main으로 설정합니다. (설정에서 수정 가능)

리포지토리 생성 후 우측 상단의 코드 버튼을 클릭하면 원격 리포지토리의 URL을 확인할 수 있습니다.
2. 로컬 저장소 생성

다음으로 vscode를 실행하여 로컬 리포지토리를 생성하고 오른쪽 세 번째 아이콘을 클릭하여 소스 컨트롤 탭으로 이동합니다.
git에 업로드된 것이 없으므로 저장소 초기화를 클릭하여 저장소를 생성합니다(터미널에서 해당 경로로 이동한 후 git init를 실행해도 됩니다). create-react-app으로 프로젝트를 생성하신 분들은 이미 폴더 경로에 .git 폴더가 있을 수 있습니다. (Mac의 파인더에서는 보이지 않으나, 터미널에서 해당 경로로 이동하여 ls -al 명령어로 확인할 수 있습니다.) rm -rf .git 명령어로 git 폴더를 삭제하고 새로고침을 누르면 , 위의 화면이 표시됩니다.

git 구성 관리를 수행하기 전에 git user.name 및 user.email을 설정해야 합니다.
터미널에서 다음 명령을 실행하여 설정합니다.
git config --global user.name "이름"
git config --global user.email "깃허브 이메일"
리포지토리를 생성하고 나면 기본 브랜치가 마스터로 생성된 것을 확인할 수 있습니다. 2020년 10월에 git은 마스터/슬레이브 관계를 연상시키는 이름 때문에 기본 분기를 main으로 변경했습니다. 암튼 위의 리모트 리파지토리를 생성할 때 메인으로 했기 때문에 브랜치를 메인으로 변경합니다.
git branch -M main // 현재 branch를 main으로 변경

분기 변경 중 위와 같은 오류가 발생하는 경우 ② Source Control 화면에서 Changes(== git add 파일명은 터미널에서, git add . 는 모두 수정된 파일임) 우측의 + 버튼을 클릭하여 스테이지에 업로드하고, 우측 상단에 Commit Message를 입력하고, 터미널에서 확인 버튼이나 Commit(= = git commit -m commit 메시지 내용)을 클릭하고 한 번 커밋한 후 명령을 다시 실행하면 정상적으로 변경됩니다.
3. 원격 스토리지 연결
git remote add origin https://github.com/github계정이름/remote repository이름.git
위 명령어 끝에 원격 저장소 생성 시 확인한 URL을 붙여넣고 실행한다.
git pull origin main --allow-unrelated-histories // pull
원격 저장소에 변경 사항이 있는지 확인하기 위해 풀을 가져옵니다.
git push -u origin main // push
위 명령어로 push를 하면 원격 저장소에서 파일이 성공적으로 업로드 된 것을 확인할 수 있다.