프로젝트를 진행하면서 Repository 를 Fork 하여 각자 개발 후 기능 구현이 완료되면 Pull Requests 를 통해 각자 구현한 기능을 Main Repository 에 등록하기로 하였다.

 

 

 

레포지토리를 Fork 한 이후 메인 레포지토리에 개발된 내용을 Pull Requests 시도하였는데, conflict 가 발생하였고 해당 문제를 해결하기 위해 내 로컬 레포지토리를 원격 메인 레포지토리와 동기화 시키는 과정이 필요했다

 

1. 원격지(upstream) 등록

우선은 등록되어 있는 원격지가 존재하는지 여부를 확인 ( $ git remote -v )

- 원격지(upstream)가 등록되어 있으나 url 이 등록되어 있지 않은 경우 ( $ git remote set-url upstream {원격지 주소} )

- 원격지(upstream)가 등록되어 있지 않은 경우 ( $ git remote add upstream {원격지 주소} )

 

2. 원격지(upstream) 의 최신 정보 동기화 및 merge

원격지의 branch 들과 commit 내용들을 내 로컬에 동기화 ( $ git fetch upstream )

fetch 후 branch 를 확인해보면 upstream/master 의 로컬 브랜치가 생긴다 ( $ git branch -va )

upstream 에서 가져온 브랜치를 로컬 브랜치와 병합 ( $ git checkout master -> $ git merge upstream/master )

 

3. 원격지의 최신 로그와 내 로컬 브랜치의 로그가 동기화 되었으니 merge 된 내용을 내 Fork 된 레포지토리에 push 한 뒤 Pull Requests 를 보낸다

728x90

+ Recent posts