본문 바로가기

개발/협업

Git 원본 저장소와 fork한 저장소 동기화

728x90

1. 원본 저장소의 원격 주소를 로컬 저장소에 추가

$ git remote add upstream git@github.com:ORIGINAL_OWNER/ORIGINAL_REPO

위에 주소에서 원격 주소 부분은 본인이 동기화 할 원본 저장소의 주소를 사용한다.

2. 정상 추가되었는지 확인

$ git remote -v
origin    https://github.com/MY_NAME/MY_FORKED_REPO.git (fetch)
origin    https://github.com/MY_NAME/MY_FORKED_REPO.git (push)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

3. 원본 저장소에서 fetch하여 정보 가져오기

$ git fetch upstream

4. 원본 저장소의 master 브랜치와 나의 master브랜치 merge

$ git checkout master && git merge upstream/master

4-1. 만약 develop 브랜치를 동기화 시키려면 아래와 같이 사용한다.

$ git checkout develop && git merge upstream/develop

만약 로컬의 저장소가 원본 저장소보다 더 최신인 경우, 또는 현재 브랜치와 원격의 다른 브랜치를 merge 하려는 경우 오류가 날 수 있다.