Pull Request와 PR Template

Jayven·2024년 3월 17일

안녕하세요 제이븐입니다! 😁😁
이번에는 Pull Request와 PR Template에 대해서 알아보겠습니다 회사 경험을 곁들인

Pull Request(PR)


Pull Request는 한 브랜치의 변경사항을 다른 브랜치에 병합하고 할 때 사용하는 기능입니다.
자신의 코드 변경사항을 공유하고 리뷰받으며, 변경사항을 병합하는 과정을 용이하게합니다.


Pull Request가 중요한 이유

  • 코드 리뷰 및 변경사항 토론
    • Pull Request를 통해, 변경사항에 대한 리뷰를 동료나 프로젝트 관리자로부터 받을 수 있습니다. 이 과정은 코드의 품질을 향상시키고, 잠재적인 문제를 사전에 발견하는 데 도움이 됩니다.
    • PR을 통해 변경사항에 대한 배경 정보 공유, 구현 방식에 대한 설명과 같은 중요한 토론이 이루어집니다. 이는 프로젝트 팀 내의 지식 공유 및 투명성을 증진시킵니다.
  • 추가 커밋
    • 리뷰 과정에서 제기된 문제를 해결하고, 변경사항을 지속적으로 업데이트할 수 있는 기회를 제공합니다. 이는 PR이 열려 있는 동안에도 개선 작업을 계속할 수 있음을 의미합니다.
  • 협업
    • Pull Request는 개발자들 사이의 협업을 촉진하는 중요한 도구입니다. 개발자의 기여도(Contribution)를 통해, 그가 얼마나 적극적으로 협업에 참여하고 있는지 확인할 수 있습니다.
    • 개인의 협업 경험과 Pull Request 활용 능력을 가늠할 수 있는 주요 지표로 활용됩니다. 이는 팀 프로젝트뿐만 아니라, 개인의 전문성과 팀워크 능력을 보여주는 수단이 될 수 있습니다.

🙋 작은 PR

뱅크샐러드의 작은 PR 규칙을 실행한 이유 그리고 얻게된 효과

회사에서 PR에 대한 규칙이 딱히 없이 진행을 했습니다.
보통 피처 하나를 개발하면 생각보다 많은 commit, filechanges로 인해서 리뷰시간이 길어져서 업무 시간에 영향을 받았습니다.
이어서 큰 PR은 리뷰를 할 때 이해하기 힘들어서 직접 찾아가서 질문하는 경우도 생겼습니다.

그러다가 뱅크샐러드의 기술블로그에서 작은 PR 이라는 규칙을 우연히 보게 되었고 적용하기로 했습니다.
링크는 아래로 쭉 내려가면 볼 수 있습니다!

뱅크샐러드에서 작은PR을 사용한 후기에 대한 스크린샷입니다.
이와 같이 저희 팀에서도 실행을 해보았고 직접적으로 얻은 결과는 위에 스크린샷과 동일한 결과를 얻을 수 있었습니다.


PR Templeate


Pull Request에 들어갈 내용을 미리 정의해둔 Template이다.
PR Templeate을 만들어둔다면 매번 PR을 작성할때 미리 작성해둔 Template 형식으로 작성할 수 있다.


PR Template을 만들어서 Pull Request 해보기


PR Template 만들기

일단 작업하는 레포의 Deafult 브랜치로 이동합니다.

1️⃣ Add file에 Create new file을 클릭한다.


2️⃣ .github/pull_request_tempate.md 생성. .github/ 안에 생성해줘야됩니다.


3️⃣ PR을 생성할 때 나올 템플릿을 채워줍니다.

아래 처럼 템플릿을 작성하고 Commit changes.. 누르고 Commit directly to the develop branch로 브랜치에 바로 밀어 넣어줍니다.

PR Request 만들기

우선 Default 브랜치에서 작업 브랜치를 하나 따와서 만들어 줍니다.
그리고 아무 내용이나 수정한 후 commit, push를 하고 깃에 들어가보면
이런식으로 Compare & pull request라는게 뜹니다. 버튼을 눌러서 들어가봅시다

만들어 놓은 PR 템플릿이 제대로 적용되었다면 이렇게 나오게 됩니다.
이제 템플릿 안에 내용을 추가하고 Reviewers에 리뷰어를 추가하고 Create pull request를 누르면 끝입니다!


참고


코드리뷰 in 뱅크샐러드 개발 문화


마무리


이번에는 가벼운 내용으로 Pull Request와 PR Template에 대해서 포스팅을 해보았습니다.

추가적으로 작은PR에 대해서 잠깐 설명했었는데 기회가 된다면 꼭 해당 규칙을 적용해 보시는 것을 추천드립니다.

다음에는 추가적으로 깃 브랜치 전략중 하나인 GitFlow에 대해서도 포스팅해 볼 생각입니다

질문과 피드백은 언제나 환영입니다 🙇🙇

profile
iOS 개발자

0개의 댓글