03. 원격 저장소 협업

원격 저장소(Remote repository)

원격 저장소 = 인터넷이나 네트워크 어딘가에 존재하는 저장소

원격 저장소 확인

원격 저장소를 clone하면 origin 이름으로 원격 저장소가 자동으로 등록된다.

원격 저장소의 이름을 확인한다.

$ git remote

원격 저장소의 이름과 URL을 함께 확인한다.

$ git remote -v

원격 저장소 추가

$ git remote add [원격 저장소 이름] [URL] 명령으로 아래는 예시이다.

$ git remote add pb https://github.com/paulboone/ticgit

위와 같이 등록하고 실제로 로컬 저장소에는 없지만 pb 원격 저장소에 있는 것을 가져오려면 아래와 같이 명령한다.

$ git fetch pb

git fetch 명령은 원격 저장소의 데이터를 모두 로컬로 가져오지만 자동으로 Merge하지는 않는다.

원격 저장소에 Push하기

git push [원격 저장소 이름] [브랜치 이름] 명령으로 Push할 수 있다.

origin 원격 저장소의 master 브랜치에 Push한다.

$ git push origin master

원격 저장소에 현재 로컬 브랜치와 동일한 이름의 브랜치에 Push한다. 원격 저장소의 다른 브랜치에 잘못 커밋하는 실수를 줄여줄 수 있다.

$ git push origin HEAD

원격 저장소 이름을 바꾸거나 삭제하기

원격 저장소의 이름을 변경할 수 있다.

$ git remote rename pb paul

원격 저장소를 삭제할 수 있다.

$ git remote rm paul

원격 저장소 이름 규칙

전형적인 원격 저장소의 이름이다.

  • origin: Github 내 저장소의 이름(Fork한 경우 포함)
  • upstream: Fork한 경우 원본 프로젝트의 저장소의 이름(디폴트 이름은 아니지만 통상적인 이름)

참고로 master는 브랜치 이름이다.

  • master: git init으로 저장소 생성 시 디폴트 브랜치 이름

브랜치

브랜치 만들기

git branch [브랜치 이름] 명령으로 아래와 같이 testing 브랜치를 만든다.

$ git branch testing

브랜치 변경

git checkout 명령어로 작업하려는 testing 브랜치로 이동할 수 있다.

$ git checkout testing

브랜치를 이동(변경)하면 작업 디렉토리의 파일 내용도 변경된다.

git checkout -b 명령어로 두 번 입력하지 않고 한 번에 브랜치를 만들고 바로 이동할 수도 있다.

$ git checkout -b testing

로컬 브랜치를 원격 저장소에 Push하기

git push -u origin [브랜치 이름] 명령으로 로컬 브랜치를 원격 저장소에도 반영할 수 있다.

$ git push -u origin testing

Merge

이슈 처리를 위해 브랜치 적용 시나리오

어떤 이슈 처리를 위한 issue53 토픽 브랜치를 만든다.

$ git checkout -b issue53

소스파일을 수정한다.

$ vim index.html

수정한 파일을 로컬 저장소로 커밋한다.

$ git commit -am 'fixed the broken email address'

master 브랜치로 다시 이동한다.

$ git checkout master

issue53 브랜치의 내용을 master 브랜치에 반영하여 합친다.

$ git merge issue53

브랜치가 불필요해지면 삭제한다.

$ git branch -d issue53

최종 수정일시: 2019-01-10 21:01

blog comments powered by Disqus