동아리에 들어가서 팀프로젝트를 할 일이 생기다보니 깃에 대해 조금 더 공부해야할 필요성을 느꼈습니다.
특히, 프로젝트 기능 중, 특정 기능을 개발해야할 일이 생기거나 문제가 생겼을 때 Github의 Issue를 통해 해당 내용들을 관리한다는 사실을 알게 되었습니다.
따라서 이번 포스팅에서는 깃허브에서 이슈를 생성하고 관리하는 방법에 대해 알아보려고 합니다.
우선, 본인이 이슈를 생성하고자 하는 Origin Repository에 들어가 Issues 항목을 클릭합니다.
그럼 이렇게 초록색 버튼이 우측 상단에 위치하게 됩니다.
이 버튼은 이슈를 생성하는 페이지로 이동시켜주는 역할을 합니다.
그럼 이렇게 Title(제목)과 Comment(내용)을 작성할 수 있는 Form이 보일텐데,
여기서는 사진을 첨부할 수도 있고 글을 작성할 수도 있으며 리스트를 만들어 보기좋게 시각화할 수도 있습니다.
기본적으로 Title(제목)에는 '프로젝트 중 다룰 이슈(기능 구현, 문제 등)에 대한 큰 틀'을 작성하면 되며,
Comment(내용)에는 상황에 따라 다르겠지만, '이슈 발생 이유, 생성 목적' 과 같은 구체적인 내용을 작성하면 된다.
본인은 현재 진행하고 있는 주차장 서비스에 이슈 관리 공부 내용을 적용하기 위해,
'서버로부터 주차장 리뷰 데이터를 불러와 리사이클러뷰에 보여주겠다'는 기능 구현에 관한 이슈를 생성하였습니다.
참고할 사항으로, Issues에는 Open, Closed로 크게 2가지가 있습니다.
Open의 경우 현재 진행하고 있는 이슈를 의미하며,
Closed의 경우 이슈를 해결하여 더 이상 다룰 필요가 없는 항목을 의미합니다.
위 사진처럼, 이전에 에러 문제에 다룬 이슈를 해결하여 Close로 변경할 모습을 확인할 수 있습니다.
이슈를 성공적으로 생성하였다면, 이제 이슈를 해결할 일만 남습니다.
위 사진은 기능을 성공적으로 수정하여 원격 레퍼지토리에 Commit하기 직전, Git Convention을 적용하여 커밋 메세지를 작성하는 모습입니다.
(Git Convention에 대한 자세한 내용은 후에 다루겠습니다.)
이 포스팅에서 눈길을 돌려야할 부분은 바로 맨 하단의 Related to : #28 이라는 부분입니다.
여기서 Related to는 이슈와 관련시킬 수 있는 커밋 키워드이며, #28은 이슈의 번호를 의미합니다.
이를 작성해주는 이유는 위와 같이 키워드와 이슈 번호로 구성된 커밋 메세지를 작성하면,
커밋한 후에 Issues에 추가로 작업을 하지 않아도 커밋 내용을 연동시킬 수 있기 때문입니다.
이게 어떤 의미인지 아래 사진을 확인하면 쉽게 이해할 수 있을겁니다.
해당 사진은 이슈 아래에 자동으로 코멘트가 생성된 모습입니다.
이는 제가 별도로 Issues 탭에 들어가서 작업을 한 것이 아닌,
커밋 메세지에 키워드와 이슈번호만 작성했을 뿐인데 이처럼 깃에서 자동으로 처리를 해준 것입니다.
키워드(Keyword) | 의미(Meaning) |
Close |
이슈를 닫습니다. |
Fixes | 이슈 수정중(아직 해결되지 않은 상황) |
Ref | 참고할 이슈가 있을 때 |
Resolves | 이슈를 해결했을 때 |
Related to | 해당 커밋에 관련된 이슈번호 (코멘트 작성 가능) |
위 표는 이슈 키워드에 관한 내용입니다.
이처럼 이슈를 커밋 메세지와 함께 관리하면, 이슈를 해결하기 위한 과정들을 한 눈에 확인할 수 있으며,
팀프로젝트 단위에서 다른 팀원이 어떤 코드를 어떻게 무엇을 수정하였는지 쉽게 파악할 수 있다는 장점이 있습니다.
내용에 오류가 있거나, 질문이 있으신 분들은 댓글을 남겨주시면 감사하겠습니다! 😊