Github에서 Issue를 생성하기 위해 Issue Template을 생성해보고, Issue를 통해 작업 관리를 해보는 실습을 진행합니다.
해당 실습 자료는 1. Github Repository 생성하기에서 이어집니다.
Issue Template 생성하기 (1) - Github 에서 생성하기
Github Repository의 Settings로 이동합니다.

스크롤을 내려보면 Features - Issues 항목의 Set up templates 버튼을 클릭하여 Template을 생성할 수 있습니다.

Add template을 눌러 기본으로 설정된 템플릿을 기반으로 생성할 수 있습니다.

먼저, Feature request를 추가해보겠습니다.
Preview and edit 버튼으로 내용을 수정할 수 있습니다.
다음과 같이 Feature request의 기본 템플릿을 확인할 수 있고, 이름 오른쪽에 수정 버튼으로 수정할 수 있습니다.

템플릿을 수정해보겠습니다. 템플릿에 들어갈 내용과 제목의 기본값을 넣어줍니다.
Template content
## Background
-
## Todo
- [ ] Todo 1
- [ ] Todo 2
## See also
- #
Issue default title - [FEAT]

우측 상단 Propose changes 버튼으로 저장할 수 있습니다.

.github/ISSUE_TEMPLATE 경로에 Issue template이 추가되었습니다.

Issue Template 생성하기 (2) - Local Repository 에서 생성하기
Local Repository에는 main 브랜치에 추가한 내용이 없기 때문에 git pull origin main 명령어로 해당 내용을 가져옵니다.
.github/ISSUE_TEMPLATE 경로와 git log에 commit이 없는 것을 확인할 수 있습니다.
git pull 명령어 실행 이전
.github/ISSUE_TEMPLATE 경로가 추가된 것을 확인할 수 있습니다.
git pull 명령어 실행 이후
.github/ISSUE_TEMPLATE 경로의 feature_request.md 파일의 포맷은 다음과 같습니다.

다음과 같이 Bug report 내용을 작성합니다.

변경 사항을 Commit 을 하고 Github Repository로 Push 합니다.

Github Repository에 업로드된 결과를 확인할 수 있습니다.

Issue 기반으로 개발하기 - 작업 정의하기
Github Repository의 Issues 탭에서 New Issue 버튼으로 Issue를 생성할 수 있습니다.

생성한 Template을 확인할 수 있습니다.

Feature request 템플릿을 선택하면 다음과 같이 나옵니다.

더하기 함수를 구현하는 Issue를 생성해보겠습니다.

Issue가 생성되었습니다.

Issue 기반으로 개발하기 - 코드 구현하기
git branch 명령어로 브랜치를 생성합니다.
feat-1/add-function → #1 태그를 갖는 이슈에 대한 feature 브랜치
다음과 같이 main.py 스크립트를 작성합니다.

메시지와 함께 commit을 남깁니다.
#1 로 Issue Tag를 남깁니다.
Github Repository origin의 feat-a/add-function 브랜치에 push 합니다.

Issue 페이지로 가보면, 다음과 같이 방금 업로드한 Commit이 보여집니다.
