본문 바로가기
프로그래밍/Git

Github 이슈(Issue) 만들어 관리하기

by 신나요 2022. 9. 21.

깃 허브에서 이슈가 무엇인지 알아보겠습니다. 그리고 리포지토리와 관련된 이슈 트래커를 살펴보고 이슈를 생성해보도록 하겠습니다. 또한 이슈를 커밋과 연결하는 방법을 알아보고 레이블 등을 살펴보겠습니다.


Github Issue 란

이슈는 깃허브 인터페이스를 통해 작업할 수 있는 기능입니다. issue라는 단어가 부정적인 것으로 생각될 수 있지만, GIthub에서 이슈는 실제로 발생하는 모든 작업을 나태내는 이름에 불과합니다.

예를 들어 이슈에는 버그, 작업, 아이디어, 개선 모든 것을 의미합니다. 이러한 모든 피드백 항목은 기본적으로 이슈라는 하나의 대형 트래커에 수집되며 각 리포지토리에는 이슈 트래커가 존재합니다. 프로젝트에 새로운 기능을 추가할 때 새로운 기능은 이슈의 생성을 통해 추적할 수 있습니다.

생성한 issue는 pull request에 연결할 수도 있습니다. 그런 다음 pull request를 병합할 때 해당 이슈를 종료할 수 있습니다. issue를 닫는다고 해서 해당 이슈의 정보가 사라지는 것은 아닙니다. 모든 이슈에 대한 정보는 github에서 계속 조회할 수 있습니다.

 

이슈(Issue) 사용의 장점

이슈를 사용하면 알림 시스템을 사용하여 알림을 받을 수 있습니다. 예를 들어 누군가가 해당 문제에 대해 댓글을 작성하면 알림을 받게 됩니다. 이러한 흐름은 이슈에 관한 최신 정보를 빠르게 공유하는 데 도움이 됩니다.

pull request를 통해 키워드와 함께 이슈 번호를 언급할 수 있습니다. 이로 인해 풀 리퀘스트와 함께 이슈를 트래킹 할 수 있습니다. 또한 이슈는 마일스톤(milestone)에 사용할 수 있습니다.

 

Github 이슈 트래커

이슈는 깃허브의 기능입니다. github에 이슈에 관해 필요한 모든 인터페이스가 존재합니다.

위 화면은 모든 angular의 이슈 트래커 화면입니다. 이슈 트래커의 메인 화면에서 기본적으로 모든 미 해결 이슈 목록을 볼 수 있습니다.


이슈 생성 예제

리포지토리 메인 화면에 Issues 버튼이 존재합니다.

만약 상단에 Issues 버튼이 표시되지 않는다면, settings의 feature에서 이슈 표시 여부를 선택할 수 있습니다.

 

이슈 버튼을 들어가면 아래와 같이 표시됩니다.

아직 이슈는 존재하지 않는 상태입니다. 상단을 보면 이슈를 필터 할 수 있는 버튼이 존재합니다. 또한 이슈를 정렬할 수 있는 기능도 존재합니다.

 

오른쪽 상단에 있는 New Issue 버튼으로 이슈를 생성할 수 있습니다. 이슈를 생성하고 텍스트가 수정해야 한다는 이슈를 생성하겠습니다.

test.text파일의 텍스트에 느낌표를 추가해야 한다고 이슈를 만드려고 합니다. 이슈에 관한 타이틀과 내용을 입력합니다. 이슈의 내용에는 어떤 문제가 있는지 혹은 어떠한 개선점이 필요한지 자세히 적어줍니다. 자세할수록 좋은 이슈관리가 가능합니다.

 

이슈를 생성할 때 몇 가지 옵션이 있습니다. 이슈 생성의 오른쪽 메뉴를 보면, Assignees, Labels, Projects, Milestone를 설정할 수 있습니다.

Assignees는 이 이슈의 담당자를 할당할 수 있습니다.

 

Lables은 해당 이슈가 어떤 카테고리에 해당하는지 라벨을 붙여줄 수 있습니다.

 

예를 들어 해당 이슈가 bug 인지 기능 개선인지 등을 라벨링 할 수 있습니다. 예에서는 enhancement 라벨을 붙여주고 있습니다.

Submit new issue 버튼을 눌러 이슈를 생성하겠습니다.

 

이슈 생성 후 id로 관리

이슈를 생성하면 이제 미 해결 이슈가 하나 표시됩니다.

댓글을 추가해서 해당 이슈에 대해 대화를 할 수 있습니다. 이 화면에서도 라벨을 바꾸거나, 마일스톤을 추가하거나 할 수 있습니다.

상단을 보면 Open이라고 표시되어 있고 #2라는 번호가 표시되어 있습니다.

 

커밋 할때 이슈 아이디를 추가해서 트래킹 하기

이 #2라는 아이디가 이슈에 대한 아이디입니다. 이 아이디를 이용해서 pull request를 작성할 때 이슈와 연결시킬수 있습니다.

위 화면과 같이 커밋 메시지에서 #을 입력하면 자동으로 아이디가 표시되고 연결 시킬 수 있습니다. Cloese 키워드와 함께 아이디를 함께 입력하면 이슈가 자동으로 닫히게 됩니다.

 

커밋 후에 해당 이슈를 보면 커밋 이력이 연결되었음을 확인할 수 있습니다.

커밋을 할 때 Closes 키워드를 사용했다면 자동으로 이슈가 닫히게 됩니다.

 

이슈가 이제 닫혀서 아래 이슈 트래커의 화면에 표시되지 않고 있습니다.

기본적으로 표시 필터가 열려있는 이슈만 표시하게 됩니다. 하지만 걱정하지 않아도 됩니다. 생성한 이슈는 언제든지 찾아서 확인할 수 있습니다. 필터로 닫힌 이슈만 보거나 라벨로 검색하거나 키워드로 검색할 수 있습니다.

 

예를 들어 상당히 시간이 지난 후 텍스트 수정을 한 이슈를 보고 싶다면 우리는 텍스트라는 키워드로 검색할 수 있습니다.

이슈 트래커를 사용해서 예전에 이슈에 대해 어떤 커밋을 했는지, 어떤 대화를 했는지 이력을 쉽게 찾아볼 수 있습니다.


여기까지 수고하셨습니다.

댓글