pull request는 내가 작업한 새로운 버전 즉 소스 코드 작성 후 commit 했을 경우 내 브런치를 당겨(pull) 달라는 요청을 보내는 것이다. 줄여서 PR이라고 부른다.
보통은 개인 레포지토리(Repository)에 팀 레포지토리의 프로젝트를 Fork
받아서 협업하는 프로젝트에 대해서 개인이 작업하고 있는 기능을 구현하다가 팀 레포지토리에 pull request
를 하는 방식으로 진행된다.
타켓이 되는 팀 프로젝트의 레포지토리에서 프로젝트를 개인 레포지토리로 Fork
받는다.
Fork
를 누르면 new repository
버튼을 누를 수 있고 해당 버튼을 누르면 repository 생성 화면으로 넘어간다.
💡 git에는 Fork
명령어가 없다. 때문에 cli에서 한 번에 실행할 수 없고 필요하다면 clone해서 프로젝트를 본인 레포지토리에 복사한 다음 팀 레포지토리에 연결할 수 있도록 따로 지정해야 한다.
개인 레포지토리에서 작업할 개인 브런치 생성
프로젝트 폴더에서 마우스 우클릭>Team>Switch To>New Branch에서 생성한다.
버전 업그레이드 후 pull request
로컬 저장소에서 작업 후 commit
, 개인 레포지토리에 push
하고 난 뒤 본인 계정의 github 저장소(remote repository)에 들어오면 Compare & pull request
버튼이 활성화 된다. 해당 버튼 클릭 후 PR 메시지를 작성하고 PR을 생성하면 요청이 팀 레포지토리에 넘어간다.
팀 레포지토리에서 요청 확인 후 Merge
여부 확인
PR을 받은 팀 레포지토리(원본 저장소) 관리자는 코드의 변경 내역을 확인 한 뒤 Merge
여부를 결정한다. Merge가 완료되면 개인 레포지토리와 팀 레포지토리의 코드를 동기화 한다.
메인 브런치가 생성된 팀 레포지토리를 생성한다.
각 팀원이 레포지토리의 프로젝트를 pull
받고 개별 브런치를 생성한다.
프로젝트 폴더에서 마우스 우클릭>Team>Switch To>New Branch에서 생성한다.
버전 업그레이드 후 pull request
개인 브런치에서 작업 후 버전 업그레이드(commit) 하고 개별 브런치에 push
한다. 해당 브런치로 접속 후 PR 버튼을 클릭해서 요청을 보낸다. (보통 default 브런치를 메인 브런치로 사용하고 이름을 dev라고 정한다 사진은 defaul 브런치가 따로 있고 dev 브런치가 메인 브런치로 사용 중이었을 때)
레포지토리의 관리자가 요청 확인 후 Merge
여부 확인
PR을 받은 레포지토리 관리자는 코드의 변경 내역을 확인 한 뒤 Merge
여부를 결정한다. Merge가 완료되면 개인 레포지토리와 팀 레포지토리의 코드를 동기화 한다.
git 관련 용어 정리