팀프로젝트로 개발을 할 때 무작정 master 브랜치에 코드를 병합하면 안된다. 이 브랜치에서 무엇을 바꾸었는지 팀원이 확인할 수 있는 과정을 거쳐야 하므로 풀 리퀘스트가 필요하다.
풀 리퀘스트 : 협력자에게 브랜치 병합을 요청하는 메세지를 보내는 것
⚡GitHub의 풀 리퀘스트 버튼은 자동으로 이러한 메세지를 만들어준다.
최근에 커밋 & 푸시 한 브랜치가 있다면 GitHub에서 친절하게 안내해준다.⚡다른 브랜치로 풀리퀘스트를 보내고 싶거나 직접 설정을 변경하고자 한다면 상단의 pull request 탭에서 New pull request를 선택하면 된다.
compare & pull request를 선택하면 병합을 요청할 수 있는 메시지를 적을 수 있는 페이지가 나온다.
⚡ 베이스(Base) 브랜치와 비교(Compare) 브랜치를 설정한다.
⚡ 베이스 브랜치 : 병합 결과물이 올라갈 브랜치
⚡ 비교 브랜치 : 현재 기준 브랜치의 비교대상이 되는 브랜치
내용을 작성하고 페이지 하단의 커밋과 파일을 검토한 후 Create Pull Request를 눌러 풀 리퀘스트를 생성한다.
상단 Pull Request 탭에서 현재 생성되어 있는 Pull Request들을 확인할 수 있으며 팀원들과 코드를 검토할 수 있다. 코드의 라인마다 댓글을 달아 토론을 할 수 있다. 합의가 되면 병합을 진행하는데 아래와 같은 Merge pull request 로 병합을 할 수 있다.
Merge pull request를 누르면 병합 커밋을 만들 수 있는 입력창이 나온다.
confirm merge를 누르면 풀 리퀘스트가 성공적으로 병합된 후 닫혔다는 메시지가 뜬다.
닫힌 풀 리퀘스트는 Pull Request 탭의 Closed에서 확인할 수 있다.
⚡ 오픈소스에 풀리퀘스트를 보낼 경우 보내기 전에 'Contribution Guideline'이 있는지 확인하는 것이 좋다.
과거의 코드를 기준으로 만들었던 브랜치를 최신 코드 기준으로 만든 것처럼 이력을 조작하는 것😉
⚡ 리베이스는 히스토리를 강제로 조작하기 때문에 다른 사람이 만약 이 히스토리를 보고 있다면 코드가 완전히 꼬이기 때문에 반드시 혼자만 쓰는 브랜치에서 수행해야한다.