팀 프로젝트를 하면 깃허브를 쓰게된다
나 역시 처음에는 '깃허브 어려운데 그냥 카톡으로 파일 주고 받으면 안돼?' 라는 생각을 했는데
한 번 쓰다보니 그 기능에 익숙해져서, 깃허브 없이는 프로젝트하기가 되게 번거롭게 되었다
그런데
이 깃허브. 나는 코드 관리 이외의 용도로 사용하고 있는가?
되돌아보면 [PR, 머지, commit 횟수 확인, history 딸깍...] 프로필마저 손 안대고 이런 것만 했다
그래서
오늘은 깃허브에서 이슈관리를 하는 법을 알아보려고한다
이슈관리는 몇 가지 단계가 존재하는데
1. Issue 발급
2. Issue 작업
3. Pull Request & Code Review
4. Issue 반영 & Close
오늘 게시물에서 위의 단계를 따라가보도록 하겠다.
#1 이슈 만들기

레파지토리를 들어가면 평소에는 1도 안들어가는 Issues를 클릭하여 들어온다
오른쪽 초록색 버튼인 New issue를 누르면 아래 화면이 나온다

이게 이슈를 등록하는 화면이다. 각 부분이 의미하는 것은 아래와 같다.
Title, Content
제목과 이슈 내용을 쓰면 된다.

Assigneers
이슈를 누구에게 할당할 것인지 선택하는 부분으로 톱니바퀴를 눌러 지정할 수 있다.

Labels
이슈의 Label들을 다는 곳이다. Feature, Bug, New Feature 등등 여러 Label이 있고 Label은 새로 만들 수 있다.
보통 이슈를 볼 때 이 Label을 보고 한 눈에 알아본다.

Projects
이슈를 Project Board에 등록하려면 선택하면 된다 (그런데 PB로 관리하는 사람은 별로 없어서...)

Milestone
마일스톤을 지정할 수 있다

이렇게 지정이 끝났으면, 하단의 Submit new Issue 를 누르면 이슈가 등록된다.
#2 Project Board가 뭔데
위에서 별로 안쓴다했던 Project Board
이슈가 여러 개 일 때 한눈에 보기 쉽게 정리해주는 곳이다

역할들은 아래와 같다.
Todo - 해야할 Issue를 등록해놓는 곳, Issue에서 끌어와서 쓴다.
In Progress - 진행 중인 Issue를 Todo에서 끌어와서 쓴다.
Done - 완료된 Issue를 Done에 쌓아둔다.
Issue - 등록해야하는 Issue가 쌓이는 곳.
아까 안 쓴다고한 이유는 보통 아래와 같이 노션의 칸반보드가 더 간편하게 쓰기 쉽기 때문이다

물론 깃허브에도 있다는 기능을 알았으니까, 취향에 맞에 적절히 쓰면 될 거 같다
#3 Milestone은 뭔데
마지막으로 Issue를 마일스톤으로 지정했는데 이건 무슨 기능일까
Due Date를 설정해서 해당 기간 동안 수행할 Issue들을 등록해놓으면 Open된 Issue와 Close된 Issue를 카운트하여 퍼센트로 보여주는 기능이다.

다시 Issues 페이지로 돌아가서 [New issue] 버튼 왼쪽에서 확인할 수 있다.

끝내야하는 날짜와 Open된 Issue, closed된 Issue 등을 확인 할 수 있다.

그럼 다시 Issue로 돌아가서 한번 Close Issue를 하고 온다.

나중에 Milestone에 이슈가 많이 쌓여있으면, 하나씩 처리해가면서 얼마나 남았는지를 한 눈에 확인하고 Issue를 새롭게 관리할 수 있는 방법인 Milestone을 알아보았다.
이걸 보면서 뭘 깃허브를 저렇게 복잡하게쓰냐 저게 더 힘들어보인다 할 수 있지만
일단 알아만두자. 언젠가는 쓸데가 있을 수 있으니까 깃허브의 새로운 기능인 Issue, Project Board, Milestone을 사용할 수 있다! 라는 것에 중점을 두고 계속 깃허브를 공부해보자
[지원 : 동국대학교 SW교육원]