포크한 깃허브 저장소와 원본 저장소 동기화 하기

포크한 깃허브 저장소와 원본 저장소 동기화 하기

github 레포를 정리하면서 동료들과 함께 협업한 프로젝트를 포크해오고 최신화 하지 않은 곳이 있었다.

앞으로 자주 이런 일이 발생할 것 같아 기록해 두기로 했다.

  • 원본 저장소를 원본 저장소 라고 지칭한다.
  • 포크한 저장소를 포크 저장소 라고 지칭한다.

예를 쉽게 들기 위해 원본 저장소와 포크 저장소의 링크를 남겨둔다.

원본 저장소 : https://github.com/BookPlanner/BookPlanner

포크 저장소 : https://github.com/Wu22e/BookPlanner

* 순서

1. 포크 저장소를 로컬로 클론한다.

git clone https://github.com/Wu22e/BookPlanner

 

2. 현재 설정된 리모트 저장소를 조회한다. (클론 해왔기 때문에 당연히 리모트 저장소는 없다.)

git remote -v

👉 result

origin     https://github.com/Wu22e/BookPlanner (fetch) 
origin     https://github.com/Wu22e/BookPlanner (push)

 

3. 리모트 저장소에 원본 저장소를 추가한다.

git remote add upstream https://github.com/BookPlanner/BookPlanner

 

4. 다시 한번 리모트 저장소를 조회한다.

git remote -v

👉 result

origin     https://github.com/Wu22e/BookPlanner (fetch) 
origin     https://github.com/Wu22e/BookPlanner (push) 
upstream   https://github.com/BookPlanner/BookPlanner (fetch) 
upstream   https://github.com/BookPlanner/BookPlanner (push)

 

5. 리모트 저장소(upstream repository)에 있는 원본 저장소의 내용을 최신화 한다.

git fetch upstream

 

6. 리모트 저장소(upstream repository)의 main branch를 로컬 main branch로 merge한다.

git merge upstream/main (main 또는 master)

 

7. 마지막으로 포크 저장소로 push만 하면 끝

git push

댓글

Designed by JB FACTORY