728x90

코드 리뷰 하기 좋은 Pull Request(PR) 만들기

좋은 Pull Request(PR)는 코드 기반 협업 프로세스를 개선하는 데 중요한 요소입니다.
Pull Request 템플릿을 활용하여 리뷰어(Reviewer)가 코드의 변경 사항을 명화하게 이해하고, 주의깊게 검토해야 할 부분들을 표시하여 코드의 안정성을 높이고, 원활한 커뮤니케이션하는데 도움이 될 수 있습니다.

  1. 목적이 명확합니다: 좋은 PR은 하나의 구체적인 목적을 가지고 있어야 합니다. 이는 버그 수정, 새 기능 추가, 리팩토링, 성능 향상 등 일 수 있습니다.
  2. 변경 범위가 제한적 입니다: PR은 가능한 한 작고 관리가능한 범위로 제한되어야 합니다. 이는 리뷰어가 더 쉽게 이해하고 더 빨리 리뷰를 완료할 수 있게 합니다.
  3. 잘 문서화되어 있습니다: PR에는 충분한 설명이 포함되어야 하며, 필요한 모든 문맥 정보와 변경된 이유를 제공해야 합니다. 이는 리뷰어가 변경의 의도와 영향을 이해하는 데 도움이 됩니다.
  4. 품질이 유지됩니다: PR은 코드의 품질을 유지하거나 개선해야 합니다. 이는 테스트 케이스의 추가, 기존 테스트의 통과, 코딩 표준의 준수 등을 포함할 수 있습니다.
  5. 커뮤니케이션이 원활합니다: PR의 작성자는 리뷰 과정에서 발생하는 피드백에 적극적으로 응답하고, 필요한 수정을 신속하게 처리해야 합니다.
  6. 리뷰가 용이합니다: 좋은 PR은 리뷰하기 쉽게 구성되어 있어야 합니다. 이는 코드의 변경 사항이 명확하고, 리뷰어가 주의 깊게 검토해야 할 부분이 잘 표시되어 있는 경우입니다.

이러한 특성을 갖춘 PR은 코드 리뷰 프로세스를 개선하고, 팀 내의 협업을 촉진하며 소프트웨어의 전반적인 품질을 향상시키는 데 중요한 역할을 합니다.

Pull Request Template 만들기

  • 템플릿은 프로젝트와 리포지토리 구조에 따라 여러 유형으로 만들 수 있습니다.
  • 템플릿은 다음 위치 중 한 곳에 넣으면 인식합니다.
    • 루트 디렉토리 : pull_request_template.md
    • docs 디렉토리 : docs/pull_request_template.md
    • .github 디렉토리 : .github/pull_request_template.md

예) 템플릿 형식

# Pull Request (PR)
PR 유형을 선택합니다.
- [ ] 새로운 기능 추가
- [ ] 버그 수정
- [ ] UI 디자인 변경
- [ ] 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
- [ ] 코드 리팩토링
- [ ] 주석 추가 및 수정
- [ ] 문서 수정
- [ ] 테스트 추가, 테스트 리팩토링
- [ ] 빌드 부분 혹은 패키지 매니저 수정
- [ ] 파일 혹은 폴더명 수정
- [ ] 파일 혹은 폴더 삭제

## 변경 사항
- 간단하게 이 PR에서 진행한 주요 작업을 요약하고,
- 변경된 주요 기능 및 수정 사항에 대한 자세한 설명을 적으세요.

## 관련 이슈 또는 문서
- 이 PR과 관련된 이슈, JIRA 티켓 및 참고 문서가 있다면 링크를 추가하세요.

## 특별히 봐줬으면 하는 부분
- 리뷰어가 집중해서 봐야 할 코드 섹션 또는 로직을 지정하세요.

## 테스트 가이드
- 이 변경 사항을 어떻게 테스트했는지 설명하세요.
- 자동화된 테스트를 추가했다면, 어떤 테스트 케이스를 추가했는지 설명하세요.

## 스크린샷 (UI 변경 사항이 있는 경우)
- UI가 변경되었다면, 변경된 UI의 스크린샷을 첨부하세요.

## 기타
- 이 PR을 병합하는데 주의해야 할 사항이 있다면 적으세요.

## 체크리스트 (PR시 필수 체크해야 할 사항을 기입하세요)
- [ ] 변경 사항과 관련 문서를 모두 업데이트 했습니다.
- [ ] 모든 종속 변경사항이 병합되었습니다.
- [ ] 코드 리뷰어를 지정했습니다.

Reference

728x90
반응형

'GitHub' 카테고리의 다른 글

GitHub 멀티 Account 설정하기  (0) 2022.07.21
728x90

| 해당 포스트는 맥북에서 설정하였습니다.

GitHub을 사용하다 보면 업무용계정과 개인용계정을 따로 사용해야 하는 경우가 발생할 수 있습니다.
두 개 이상의 계정을 활용해야 할때 설정하는 방법입니다.

1. 키체인 삭제

기존에 등록되어 있는 키체인 정보를 삭제합니다.
키체인 접근앱에서 gihub.com에 등록된 정보를 삭제합니다.

2. ssh-key 생성하기

개인계정과 업무계정에 사용할 ssh key를 생성합니다.
생성은 .ssh디렉토리에서 생성합니다. .ssh디렉토리가 없으면 디렉토리를 생성합니다.

# .ssh 디렉토리 이동
cd ~/.ssh

# ssh key 생성
ssh-keygen -t rsa -b 4096 -C "<github 계정 email주소>"

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/collabo/.ssh/id_rsa): #생성할 파일명 입력
Enter passphrase (empty for no passphrase): # Enter
Enter same passphrase again: # Enter
  • 키 생성시 개인용과 업무용 구분을 위해 파일명을 구분합니다.
  • 개인용 key id_rsa_private, id_rsa_private.pub와 업무용 key id_rsa_work, id_rsa_work.pub의 생성결과를 확인 합니다.

3. ssh-key 등록

ssh-add --apple-use-keychain id_rsa_private
ssh-add --apple-use-keychain id_rsa_work

4. github에 공개키 등록

로컬에서 생성한 공개키를 복사하고 pbcopy < ~/.ssh/id_rsa_work.pub github에 등록합니다.

  • 우측 상단의 계정 이미지를 클릭하고 펼쳐진 서브 메뉴들에서 Settings를 선택한다.
  • Settings의 좌측 메뉴에서 SSH and GPG keys - New SSH Key 메뉴를 클릭하고 복사한 키를 붙여 넣습니다.
    • Title : 식별할 수 있는 이름
    • Key : id_rsa_work.pub복사한 key
  • 생성한 개인용, 업무용 계정 별로 등록하여 줍니다.

5. ssh config 설정

~/.ssh 디렉터리에 config 파일이 존재하는지를 확인하고 없다면 새로 생성합니다.
github.com에 대한 접속 정보를 아래와 같이 설정해 줍니다.

# private account
Host github.com-private
 HostName github.com
 User private                       # github 계정 이름
 IdentityFile ~/.ssh/id_rsa_private # 비밀키 파일

# work account
Host github.com-work
 HostName github.com
 User  work                      # github 계정 이름
 IdentityFile ~/.ssh/id_rsa_work # 비밀키 파일
  • Host : 저장소 구분 값

[SSH 등록 테스트]
등록한 키 값별로 ssh -T git@github.com-work입력하여 아래 문구가 출력되면 정상입니다.

You’ve successfully authenticated, but GitHub does not provide shell access.

※ 개인용도 동일하게 테스트 합니다.

6. Remote 저장소 설정

GitHub에서 SSH URL로 clone 받거나 이미 Remote가 지정된 경우 다음과 같이 변경할 수 있습니다.
SSH Config 구성 시 HostName을 github.com-<구분자>로 지정하였으므로 호출 시 동일하게 구성하여야 합니다.

  • 신규 저장소 clone
    git clone git@github.com-work:<저장소URL>.git
  • Remote 저장소 변경
    git remote set-url origin git@github.com-private:<저장소URL>.git

Reference

728x90
반응형

'GitHub' 카테고리의 다른 글

(GitHub) Pull Request 템플릿 만들기  (0) 2024.04.14

+ Recent posts