TroubleShooting & Study/etc.

[Github] Issue와 Pull Requests 연동하기

DH_0518 2024. 11. 10. 16:20

 팀 프로젝트를 진행하다 보면 PR (Pull Requests)는 필수적으로 사용하게 된다. 그리고 PR은 코드 리뷰어를 위해 최소한의 단위로 만들게 되는데, 이렇게 되면 하나의 전체적인 기능을 위해 여러 가지 PR이 생기게 된다.

(ex. 회원가입에 필요한 기능: 이메일 중복확인 API, 인증 이메일 전송 API, 인증번호 확인 API, 닉네임 중복확인 API ... 수많은 기능이 필요하다 )

 

 문제는 개발을 진행하다보면 PR들이 섞이면서 이 PR이 어떤 도메인, 어떤 기능을 위한 PR인지 한눈에 알아보기가 힘들어진다

어질어질한 pr 목록들..


따라서 오늘은 이런 문제를 해결하기 위해 하나의 전체적인 기능을 Issue로 등록하고, 거기에 작은 기능의 PR들을 연결시켜 서로 연관된 PR을 모아서 관리할 수 있도록 해보겠다.

 

 

 

 

 

 

 Issue와 PR 연동하기

 

 

1. Issue 생성

먼저 내가 구현할 기능을 Issue로 생성한다. 생성할 때, 이 기능에 필요한 작은 PR 단위를 Task list로 만들어서 등록해 준다.

 

 

 

2. Task에 해당하는 코드 수정/생성 후 commit

이후 필요한 기능을 생성하거나 수정한 후 commit 하는데, 이때 commit에는 [#IssueNumber] 를 기재한다.

 

이후 commit이 remote에 올라오게 된다면(push) issue에는 commit에서 언급되었다는 기록이 남게 된다

 

 

 

 

3. PR 생성

이제 remote에서 Pull Requets를 만들자

 

보는 것처럼 'Reference'를 클릭하거나 '#' 을 입력하면 다른 pr이나 issue를 연결할 수 있다.

이때 'Development'나 'close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved' 키워드를 사용하여 issue를 연결하면 PR이 merge 되었을 때, 자동으로 연결된 issue가 close 되게끔 설정할 수 있다.

 

하지만 우리는 issue 하나에 여러 PR을 다룰 것이므로, 수동으로 관리하기 위해 키워드를 따로 사용하지 않고 '#'으로 issue만 연결시켜 주겠다.

 

 

4. Issue에서 완료된 Task 수동으로 체크

이제 PR을 merge 한 이후, Issue로 이동해서 수동으로 task를 체크해 주자

 

또한 issue 로그에 PR이 merge 되었다는 것을 볼 수 있다

 

 

이후 모든 task를 완료했다면 issue를 수동으로 close 해주면 된다~!! 끗!

 

 

 

 

 

 

 

 

Reference

 

[Git] Issue 생성 및 Pull Request 와 연동

오늘의 결과 화면입니다. 구현할 기능을 Issue로 생성하고 Pull Request를 만들어서 Issue를 참조하고 main branch에 sub branch를 merge 후, 병합된 Issue를 closed 하는 과정을 설명하겠습니다. [Step 1] 새로운 Issu

minny27.tistory.com

 

끌어오기 요청을 이슈에 연결 - GitHub Docs

끌어오기 요청 또는 분기를 문제에 연결하여 수정이 진행 중임을 표시하고 끌어오기 요청 또는 분기가 병합될 때 문제를 자동으로 닫을 수 있습니다.

docs.github.com