Github PR 템플릿 과 Wiki로 협업 생산성 높이기

최소희·2024년 8월 17일

1. 도입 배경

지금까지 여러 번의 사이드 프로젝트를 진행하면서, 주로 노션을 활용해 문서화를 해왔다.

하지만 기술 정리와 개발을 한 플랫폼에서 관리할 수 있다는 측면에서 GitHub에 남겨두는 것이 더욱 효율적이라는 생각이 들었다.

GitHub의 PR 템플릿과 Wiki 기능을 도입하여 협업 생산성을 높이기로 결정하게 된 이유이다.

프로젝트 협업 이미지

2. GitHub PR Template 도입

2.1 PR Template의 필요성

프로젝트가 커지면서 코드 리뷰를 효율적으로 진행하고, 팀원 간의 소통을 원활하게 하기 위해 PR 템플릿을 도입했다. 템플릿을 통해 PR 작성 시마다 중요한 정보를 놓치지 않고 공유할 수 있으며, 리뷰어도 빠르고 정확하게 변경 사항을 파악할 수 있다.

2.2 PR Template 설정 방법

1. Repository Settings 클릭


2. Features > Issues > Set up templates 클릭

3. Add Template에서 선택 및 작성

2.3 PR Template 구성 예시

템플릿은 다음과 같은 항목으로 구성했다:

  • Summary: PR의 목적과 주요 변경 사항을 간단히 설명.
  • Changes: 변경된 사항의 목록화.
  • Type of Change: 기능 추가, 버그 수정, 리팩토링 등 변경 유형 명시.
  • Related Issue: Github Project issue 번호와 연동.
  • Screenshots: UI 변경 사항 전/후 스크린샷.
  • Checklist: 코드 리뷰 전 확인 사항. (팀 컨벤션 wiki 연결)
  • Additional Context: 추가 설명 사항.
---
name: "Pull Reqeust template"
about: 각 항목들을 채워 풀 리퀘스트를 올려주세요.
title: ''
labels: ''
assignees: ''

---

## Summary (요약)

<!-- 이 PR의 목적과 주요 변경 사항을 간단히 설명하세요. -->

## Changes (변경 사항)

<!--
  - 주요 변경 사항을 목록으로 작성하세요.
  - 예: `컴포넌트 A의 스타일 수정`, `API 요청 로직 개선`
-->

1. 
2. 
3. 

## Type of change (변경 유형)

<!-- PR의 변경 유형을 선택하세요. 중복 선택 가능합니다. -->

- [ ] Bug fix (버그 수정)
- [ ] New feature (새로운 기능 추가)
- [ ] Style (스타일)
- [ ] Refactoring (리팩토링)
- [ ] Documentation (문서화)
- [ ] Tests (테스트 추가/수정)
- [ ] Other (기타)

## Related Issue (관련 이슈)

<!-- 이 PR과 관련된 이슈 번호를 링크하세요. -->

- Issue: # 

## Screenshots (스크린샷)

<!-- UI 변경 사항이 있으면 스크린샷을 첨부하세요. -->

| 변경 전 | 변경 후 |
|:--:|:--:|
| 이미지 1 | 이미지 2 |

## Checklist (체크리스트)

<!-- PR이 제출되기 전에 아래 사항을 확인하세요. -->

- [ ] [팀 컨벤션](https://github.com/kakao-travel-mandi/mandi-frontend/wiki/Team-Convention)을 준수하였나요?
- [ ] 빌드가 정상적으로 통과되었나요?
- [ ] 리뷰어가 이해하기 쉽게 커밋 메시지를 작성했나요?

## Additional Context (추가 사항)

<!-- 이 PR에 대해 추가로 설명할 사항이 있으면 적어주세요. -->

3. GitHub Wiki 도입

3.1 Wiki의 역할

프로젝트의 전반적인 규칙과 중요한 정보를 문서화하는 역할을 GitHub Wiki에 맡겼다.

이전에는 이러한 문서를 노션에 따로 작성해 두었지만, 개발과 문서가 분리됨에 따라 다시 노션의 회의록을 열면서 확인해야하는 불편함이 생겼다.
(쌓여있는 회의록으로 문서를 찾지 못하는 일원도 있었다.)

이제는 GitHub 내에서 모든 프로젝트 정보를 관리함으로써 팀원들이 빠르게 참조할 수 있게 되었다.

3.2 Wiki에 담긴 내용

Wiki에는 다음과 같은 내용을 담았다:

  • 팀 컨벤션: 코드 스타일, 브랜치 전략, 커밋 메시지 규칙 등.
  • 기술 스택과 역할 분담: 프로젝트에서 사용하는 기술과 각 팀원의 역할을 명확히 정의.

이러한 정보를 Wiki에 통합함으로써 팀원들이 언제든지 쉽게 접근할 수 있게 되었고, 프로젝트의 일관성을 유지하는 데 큰 도움이 되었다.

3.3 기술에 집중된 문서 기능

Wiki는 markdown으로 mermaid를 사용하여 flow chart로 문서화할 수 있다.
PR 템플릿 예시

Wiki 예시

4. 툴 실제 도입 모습


이전에는 PR의 변경 사항을 매번 회의 시간에 논의하거나, 다른 팀원들의 코드 변경 사항을 충분히 파악하지 못하는 경우가 많았다.

GitHub에서 제공하는 협업 도구들을 잘 활용하면, 하나의 플랫폼을 토대로 구성원들의 정보가 동기화되어 더 효율적인 협업이 가능할 것으로 기대된다.

참고 자료
Github Docs

profile
Frontend Engineer

0개의 댓글