Github로 똑똑하게 협업하는 방법 - 🐥 카카오 테크 캠퍼스
이슈(Issue)
GitHub Issue는 개발자와 프로젝트 팀이 작업, 버그 및 기능 요청을 추적하고 관리하는 방법입니다.
Issue를 작성하여 자신이 해야 할 일을 관리하거나 매니저는 해야 할 일을 분배 할 수 있습니다.
또한, Issue의 경우 뒤에 나올 PR과 인덱스를 공유합니다.
Github에서는 이슈와 PR을 연동해서 발생한 문제에 일종의 태그(연결)이 가능합니다.
개발자들은 이 기능을 통해서 개발 과정을 좀 더 유연하게 가져갈 수 있습니다
라벨(Label,레이블)
레이블은 개발자가 Github에서 문제를 관리하고 분류하는 데 도움이 되도록 사용할 수도 있습니다.
버그 대 기능, 우선 순위 또는 상태와 같은 다양한 기준에 따라 문제를 구성하고 필터링하는 방법을 제공합니다.
레이블의 색깔은 깃허브 기본 레이블 세팅도 좋지만. 미디엄 블로그에 잘 나와있으니 참고 부탁드립니다
도메인, 우선순위, 상태, 타입 정도로 카테고리를 분류합니다
TIP
- Status : 파스텔 톤
- Type, Priority : 진한 색? Vivid 톤
- 색상
- 긍정적 : 쿨톤
- 부정적 : 웜톤
저희 팀의 경우 아래와 같이 라벨링을 하였습니다
- Domain: Java
- 우선순위
- Priority: Urgent
- Priority: High
- Priority: Medium
- Priority: Low
- 상태
- Status : Available
- Status: Done
- Status: In Progress
- 타입
- Type: Bug
- Type: Enhencement (기능 개발)
마일스톤(Milestone)
마일스톤은 프로젝트의 특정 목표 또는 마감일에 대한 진행 상황을 추적하는 데 사용됩니다.
작업의 우선 순위를 지정하고 프로젝트 진행 상황에 대한 높은 수준의 개요를 제공하는 데 사용할 수 있습니다.
예를 들면 스프린트 단위로 마일스톤을 작성 할 수 있습니다
마일스톤은 Github 이슈에서 생성 할 수 있습니다.
마일스톤을 생성하고, 이슈를 할당 함으로서 이번 마일스톤(스프린트 등)내에 해결 해야 할 문제들을 정의하고 진행 상황을 확인 할 수 있는 것입니다
마일스톤 할당은 해당 레퍼지터리의 오너(보통은 팀장 등)이 할당 할 수 있습니다.
이슈 템플릿(Issue Template)
이슈 템플릿을 이용해서는 개발자는 귀찮음을 조금 덜 수 있습니다
이슈 템플릿은 레퍼지터리의 Settings - Features에 있습니다
템플릿 생성 과정
개발자는 템플릿에서 마크다운 형식으로 Content나 디폴트 타이틀,assign, 라벨을 설정 할 수 있습니다
PR(Pull Request)
각자 기능을 개발하고 메인 레퍼지터리에 PR을 날리면, 룰에 따라서 코드 리뷰 등의 절차를 거쳐 코드를 병합합니다
PR이 등장하면, 코드 리뷰 외에, 마일스톤, 라벨 등 이슈와 동일한 정보를 확인 할 수 있습니다.
또한 이슈와 PR은 인덱스를 공유하고, #
으로 PR에서 Issue의 상태 관리가 가능합니다
resolves #2 // 2번째 이슈를 해결하는 PR임을 나타냅니다
reslove 외에도, close(이슈 닫음), fix (해결) 등의 커맨드 등이 있습니다
PR의 코드 리뷰 정밀도는 개발자가 원한다면 더 높일 수 있습니다
원한다면, PR의 코드 한줄 한줄마다 코멘트를 추가함으로써 정밀한 코드 리뷰가 가능한 것이죠
레퍼런스
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'ETC' 카테고리의 다른 글
Python 가상 환경 구성 (0) | 2023.05.05 |
---|---|
IntelliJ 초기 설정 - VSCODE를 떠나며 (0) | 2023.05.03 |
Git flow - 🐥 카카오 테크 캠퍼스 (0) | 2023.05.01 |
Mac OS에 설치 된 모든 파이썬 패키지 삭제하는 방법 (2) | 2023.04.26 |
🐥 카카오 테크 캠퍼스 - Git Branch (0) | 2023.04.24 |