Skip to content

Github Issue 똑똑하게 사용하기

n-ryu edited this page Nov 27, 2022 · 19 revisions

Github Issue?

image

Github Issue는 Github에서 제공하는 편리한 기능이다. 레포지토리마다 Issue를 생성해서 관련된 문제사항이나 앞으로 작성해야 하는 작업 사항들을 적어 보관해 둘 수 있다. 대부분의 경우 버그리포트를 작성하거나 진행중/계획하고 있는 피처 개발 계획 등을 적어두는 방식으로 하는데, Github에서 제공하는 여러가지 부가기능들을 통해 정말 다양한 방식으로 활용할 수 있다.

Github Issue 똑똑하게 사용하기
: Branch와 Commit 연동

Issue에서 Branch 생성하기

숨겨진 꿀기능 중 하나로 Issue에서 직접 Branch를 생성할 수 있는 기능이 있다! 이렇게 Branch를 생성하면 Issue와 Branch가 연결관계를 가지게 되서, Branch가 main에 머지되면 자동으로 Issue가 닫히는 등 소소한 편의기능을 누릴 수 있다(Branch 이름짓는 수고가 덜 든다는 더 소소한 장점도 있다). Branch 생성 기능은 아래와 같은 순서로 사용할 수 있다.

image

  1. Issue에 들어가서 좌측에 있는 create a branch 버튼을 누른다.

image

  1. Branch를 생성할 Source 브랜치를 고르고, 브랜치명을 확인/수정한다.

  2. Create Branch 버튼을 누르면 Branch 생성 완료!

Commit과 Issue 연결하기

Github는 Commit을 Branch와 연결짓는 기능도 제공한다. 아주 간단하게 Commit message에 #<Issue Number> 구문이 포함되면 remote에 올라 갈 때 자동으로 Issue에 해당 커밋을 참조하고 있다고 표시가 생겨난다.

image

이에 더해서 만약 Commit에 아래와 같은 키워드가 있는 경우 Issue를 자동으로 닫아줄 수도 있다!

close
closes
closed
fix
fixes
fixed
resolve
resolves
resolved

다만, Issue 닫기 기능은 해당 커밋이 main branch에 merge되었을 때만 동작한다. 또, 동시에 여러개의 Issue를 커밋 메시지에 언급하는 경우, 맨 앞의 하나만 연결되는 단점이 있다.

Github Issue 더 똑똑하게 사용하기
: Issue Template과 Tasklist

Issue Template 기능으로 템플릿 지정하기

Github에서는 Issue Template을 만들어두고, 이를 Issue 생성시에 자동으로 반영하는 기능도 지원한다! 사용 방법은 아래와 같다.

image

  1. 레포지토리에 .github/ISSUE_TEMPLATES/ 디렉토리를 만들고, 내부에 마크다운 파일을 하나 생성한다.
---
name: (Old) Bug Report
about: Create a report to help us improve
title: 'fix: '
labels: ''
assignees: ''
---

## 버그 설명

## **버그 재현법**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

...
  1. 위와 같은 양식으로 마크다운 파일을 작성한다. 상단부 ---로 구분된 영역은 템플릿의 메타데이터를 지정하는 부분이며, 템플릿의 이름, 간단한 설명, 디폴트 제목, 자동으로 달릴 라벨과 담당자를 미리 지정해 둘 수 있다. 그 아래의 영역은 마크다운 양식으로 자동으로 들어가 있을 내용을 작성하면, 해당 템플릿으로 이슈를 생성했을 때, 자동으로 해당 내용들이 들어가 있는 것을 확인할 수 있다.

image

  1. 이제 해당 템플릿을 main branch에 push한 후, 레포지토리 Issue Tab에 가서 Create Branch를 누르면...

image

  1. 위와 같이 생성한 Issue Template이 메타데이터에 지정한 제목과 설명으로 나타나는 것을 확인할 수 있다.

image

  1. Create Issue로 Issue를 생성해보면, 아까 지정한 양식이 그대로 적용되어 있는 것을 확인할 수 있다!

Tasklist로 Issue간 상태 참조하기

Github Issue 더더 똑똑하게 사용하기
: Issue Form을 사용해보자

궁극의 편의기능, Issue Form

Github Issue 더더더 똑똑하게 사용하기(?)

💊 비타500

📌 프로젝트

🐾 개발 일지

🥑 그룹활동

🌴 멘토링
🥕 데일리 스크럼
🍒 데일리 개인 회고
🐥 주간 회고
👯 발표 자료
Clone this wiki locally