#5. [개발설정] Github를 원격 레포지토리로 사용하기
개요
Github는 Git으로 소스코드를 관리하는 원격 저장소 서비스 입니다. Git이 설치되어 있어야 하며, Github에 회원가입을 해야 사용할 수 있습니다.
사전 설치
하기 항목이 사전에 설치되어야 합니다.
항목 | 내용 |
---|---|
Git | Git 설치 |
테스트 환경 구축
이전 따라하기의 하기 내용을 수행합니다.
-
C++ 코드 작성과 빌드 구성 과 C++ 속성 설정에 따라 환경을 갖춥니다.
-
Git 초기화를 진행합니다.
-
Git 기본 사용(add, commit)를 진행하여 2개의 commit을 추가합니다.
Github 환경 구축
-
Github(https://github.com)에서 회원가입을 합니다.
-
기본 레포지토리를 생성합니다.(
Repository name
과Public
설정 후Create Repository
버튼을 클릭합니다.) -
그러면 원격 레포지토리 주소와 원격 레포지토리에 push 하는 방법이 소개됩니다.
-
테스트를 위한 파일을 생성하기 위해
creating a new file
을 클릭합니다. -
파일명을
README.md
로 입력하고Github 테스트 입니다.
라고 입력 후Commit changes
를 클릭합니다. -
그러면
Commit changes
대화상자가 표시됩니다. 추가할 메시지를 입력하고Commit changes
를 클릭합니다. -
레포지토리의
Code
탭에서 기존 소개 내용은 사라지고, 추가한README.md
파일이 표시됩니다.
Github 연결
-
Github에서 자동으로 생성하는 레포지토리는
main
으로 설정되어 있기에 이를master
로 변경해 줍니다.Settings
탭의Default branch
를 수정하시면 됩니다. -
Code
탭의Code
버튼에서 원격 레포지토리 주소를 확인합니다. -
터미널에서 하기 코드를 입력하여 원격지 레포지토리를
origin
으로 설정합니다.(일반적으로 원격지의 이름은 origin 으로 설정합니다.)1
git remote add origin [원격 레포지토리 주소]
-
git remote
로 원격지 이름을 확인합니다.
원격지 레포지토리에서 가져오기(pull)
-
원격지와 연동하기 전에 원격지의 브랜치명과 다르다면 다음과 같이 원격지 브랜치명과 로컬 브랜치 명을 먼저 맞춰 주는게 좋습니다. 다음 예는 로컬 브랜치 명(main)을 원격지 브랜치명(master) 로 변경하는 예입니다.
1
git branch -m main master
-
일반적으로 원격지에
push
하기 전에 원격지의 내용을pull
하는 것이 좋습니다.(Working Tree에 작업중인 것이 있다면 미리 commit하는 것이 좋습니다.)--allow-unrelated-histories
은 서로 관련 기록이 없는 이질적인 프로젝트를 병합할때 사용합니다. 최초에만 1회 사용합니다.1
git pull origin master --allow-unrelated-histories
-
상기
pull
명령을 실행하면 다음과 같이 Github 로그인을 요청합니다. -
Sign in with your browser
를 선택하고 로그인을 진행합니다.(세션이 끊어지기 전까지 1회만 진행하면 됩니다.) -
pull
이 완료되면 다음과 같이 메시지가 나타납니다. 가장 하단에 보면 Github에서 작성한README.md
가 생성되었다는 메시지가 있습니다.
원격지 레포지토리로 내보내기(push)
-
push
전에 Github의 레포지토리를 확인합니다. 테스트 환경 구축을 위해 생성한README.md
파일만 있습니다. -
터미널에서 하기 코드를 입력하여 로컬 내용을 원격지 master 에
push
합니다.(pull
의 경우에서처럼 Github 로그인을 요청합니다.)1
git push origin master
혹은
1
git push --set-upstream origin master
을 합니다.(
-set-upstream
을 사용하면 로컬에서 원격저장소를 tracking 하기 때문에, 이후로는git push
만 하면 됩니다.) -
다시 Github의 레포지토리를 확인하면,
source_code
폴더의 파일들과.gitignore
가 추가된 것을 확인할 수 있습니다.
댓글남기기