가장 먼저 협업 할 프로젝트 레에서 fork를 하여 나의github에 복사한다.
그러면 자신의 github에 Forked from ....이라고 적힌 프로젝트가 생성된다.
다음으로 fork한 프로젝트를 자신의 로컬 저장소에 clone
fork한 레포의 url을 복사한다.
$ git clone url
Clone이 완료되면, 기본적으로 내 Local Repository에는 Origin Repository 정보만 들어가있다. 여기서 Upstream Repository도 추가로 등록해주어야 한다.
Upstream Repository 추가
git remote add upstream [Upstream Repository 주소]
등록된 원격 저장소 목록 확인
git remote -v
$ git checkout -b 브랜치이름
위와 같이 입력하면 브랜치가 생성이 되고, 브랜치가 해당 브랜치로 옮겨졌을 것이다. 이제 이 브랜치에서 개발을 하면 된다. 코드 작성을 완료됐으면 push까지 현 브랜치에서 끝낸다.
$ git add .
$ git commit -m "msg"
$ git push origin 브랜치이름
push를 하게되면 fork한 레포에 Compare & pull request 뜬다.
Compare & pull request를 누른 후, PR template이 있으면 양식에 맞춰 작성을 하고 Create Pull Request를 누르면 PR 작성까지 완료를 하게 된다.
그리고 PR을 올린 후, 리뷰를 받고 코드를 수정해서 PR을 갱신해야하는 경우가 있다. 이럴 때에는 그냥 해당 브랜치에서 위와 똑같이 커밋하고 push하면 PR이 자동갱신된다.
아직까지 Merge단계까지는 해보지 않았지만, 추후 다른 협업자들의 업데이트한 내역을 확인하는 단계를 가지기 위해 작성한다.
PR이 완료가되면 main 브랜치로 이동하여 upsteam의 커밋 내역을 가져와 동기화 시켜준다.
$ git checkout master
$ git fetch upstream master
$ git rebase upstream/master