Github 기초 사용법 - 3





목 차


   1. issue, labels, milestone
   2. project 활용







1. issue, labels, milestone


  issue  :  프로젝트를 진행하면서 발생하는 모든 이슈 (버그 발생, 개발, 풀 리퀘스트 등등)


 깃헙에서는 이슈기능을 통해 프로젝트에서 발생하는 모든 문제를 관리할 수 있도록 돕는다. 이슈는 아래 이미지와 같이 제목과 이슈에 대한 설명을 작성하여 생성할 수 있다.



  여러 이슈를 다음과 같이 만들어 볼 수 있다. 이해하기 쉽게 웹 어플리케이션을 개발할 때, HTML, CSS, JavaScript를 만드는 과정을 모두 이슈로 만들었다.





생성된 이슈는 리스트형태로 굉장히 관리하기 힘들어 보인다. 이슈가 굉장히 많아지면 어떤 이슈를 찾기가 점점 힘들어 질 것이다. 이러한 문제를 돕기위한 기능이 label 이다. 각 이슈에 대해 labeling을 통해 이슈를 검색할 수 있고, 이슈별 주제를 구분할 수 있다.


labels   :  각 이슈에 tag / label을 부여


 다음과 같이 Labels 탭(파란버튼) 에서 새로운 레이블을 만들 수 있고, 컬러 또한 지정할 수 있다.




 그리고, 이슈 상세 화면에서 오른쪽 사이드 메뉴의 Label을 통해 부여할 수 있다.




 또한, 해당 이슈에 대해 Assignees(책임자)를 부여할 수 있다.





  Assignees와 Labels를 각 이슈들에 부여한 후 목록페이지로 돌아오면 다음과 같이 깔끔하게 정리되어 있다. 이 label과 assignee를 통해 Filters 란에서 필터링하여 이슈를 검색할 수 있다.



 하지만, label과 assignees를 아무리 부여해도 무언가 부족하다. 각 기능별 서로 유사한 이슈들이 존재하며, 이 관련된 이슈들을 찾거나 해당 기능들이 얼마나 구현되었는지 파악하기 위해선 일일히 추적해야한다.


 이를 돕는 기능이 바로 MileStone기능이다. 마일스톤은 말그대로 이정표 역할을 하며, 이슈들을 그룹화한다.


Milestone   :  issue들의 그룹,  이정표로써 진행 상황을 표현


 마일스톤을 생성해보자. 




 이전에 Label을 부여한 것과 같이 이슈 상세페이지에서 마일스톤을 부여할 수 있다.




 마일스톤으로 3개의 이슈를 모두 묶을 수 있고, 만약 아래와 같이 하나의 이슈가 완료(close)되면 마일스톤의 진행상황이 업데이트 된다.

참고로 이슈페이지에서 @이름 을 통해 다른 사용자를 언급할 수 있고, # num 을 통해 커밋, 이슈 들을 참조해 소통을 원활하게 할 수 있다.






  이슈가 종료되면 아래 이미지와 같이 main page라는 마일스톤의 진행상황이 업데이트 되는 것을 볼 수 있다. 이 마일스톤 기능을 통해 연관된 이슈의 추적과 진행상황을 한 눈에 파악할 수 있다.












Project 활용


 issue, label, milestone으로 프로젝트를 진행하면서 발생하는 이슈들을 관리하는 법에 대해 알아보았다. 하지만, 아직도 이슈가 한눈에 들어오지 않는다. LIST 열거 방식의 한계가 있어, 프로젝트가 현재 진행중이고 목표하고 있는 것이 무엇인지 한 눈에 파악하고 싶다. 프로젝트의 칸반보드 기능을 이용하면, 이슈들을 좀 더 조직화할 수 있고,  우선순위에 따라 정렬하거나 보다 한 눈에 workflow를 볼 수 있다.

 Project 메뉴로 이동해 create a project 버튼을 눌러보자.




 프로젝트의 이름과 템플릿을 설정한다. 여기서는 "automated Kanban"을 선택해, 기본 템플릿이 있고 이슈를 알아서 어느정도 관리해주는 템플릿을 선택한다.





프로젝트가 생성되면 아래와 같이 3개의 열로 구성된 기본 템플릿이 메인 창에 나타나며, 오른쪽 사이트 바엔 이전에 생성했던 열려있는(open) 이슈 카드 목록이 보인다. 3개의 열은 " To do ", " In Progress ", " Done "으로 구성되어, 해야할 Task와 진행 중인 Task, 완료된 Task를 묶을 수 있다.(그냥 Trello 보드랑 똑같이 쓰면 된다...)      


  오른쪽의 이슈 카드는 드래그를 통해 이슈의 상태에 따라 옮기면 된다.






 직접 issue 카드를 생성할 수 있으며, 설정의 "Convert to issue" 통해 실제 issue로도 변환할 수 있다.






 
이전에는 Trello 보드를 이용해 이슈들을 관리했었는데, Github 내에서도 이 project 기능을 통해 별도의 트렐로와 같은 툴을 쓰지 않아도 프로젝트의 이슈들을 정리하고 관리할 수 있어 편리한 것 같다.






+ Recent posts