PR(Pull Request) 이후의 github fork 저장소 관리

  • fork 하여 수정 내역을 원본(upstream) 저장소에 PR하여 받아들여진 후, fork 저장소쪽 가지(branch)는 어떻게 관리해야 하는가?
  • github에서 fast-forward merge 를 지원 안해줘서 발생하는 이슈라고.

github 등에 공개된 프로젝트에 기여하고자 PR 하려면 일단 원본을 Fork 하여 자신의 github 저장소에 복사 하게 된다. 여기서 바로 편집도 되긴 하겠지만 보통은 로컬로 clone 후 작업이 일반적이라 생각하고(다른 사람 어떻게 하는지 모르겠음).

로컬 저장소 master에 바로 작업 후 commit 하기도 하겠지만 브런치 생성 후 작업(수정, add, commit, push) 후 github에서 PR 날리면 코드 리뷰 후 수정 요구 있으면 다시 작업(수정, add, commit, push)하면 해당 PR에 수정 커밋이 추가됨.

PR이 받아들여지면 해당 PR 상태는 닫힘으로 변경 되고 해당 브런치는 안전하게 삭제할 수 있다고 뜸.

‘Pull request successfully merged and closed’ 라는 메시지가 있고 해당 브런치를 닫을 것인지 묻는 버튼이 있음. 이거 누르면 ‘Pull request closed’로 메시지 바뀌고 브런치도 삭제 됨.

그럼 github fork 저장소의 master는 수정한 가지 변경점과 원본(upstream)의 변경점이 반영 안되어 있음. 로컬 저장소 master 를 업데이트 해줘야 함.

git remote add upstream '원본저장소 clone용 주소'
git pull upstream master  # 원본 저장소 내용을 로컬 저장소 master에 반영
git push                       # 로컬 저장소 내용을 github fork 저장소에 반영

결론: Fork 한 저장소의 Branch 내역은 원본 저장소에 반영 안 된다(PR로 들어온 내역을 반영 했다는 내용만 남음)


게시됨

카테고리

작성자

태그:

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.