시작하며
소프트웨어 개발 프로젝트에서 중요한 역할을 하는 도구 중 하나는 바로 이슈(Issue)이다. 이 글에서는 이슈란 무엇인지, 그리고 어떻게 사용하는 지에 대한 정리를 해보고자 한다.
이슈란?
이슈는 프로젝트에서 해야 할 작업을 정리하고 관리하는 단위이다. 예를 들면,
- 새로 개발해야 할 기능
- 수정해야 할 버그
- 리팩터링이 필요한 코드
이와 같은 작업을 이슈로 생성하여 체계적으로 관리할 수 있다.
왜 이슈를 관리해야 할까?
작업 정리와 시각화
- 누가 어떤 작업을 담당하고 있으며, 진행 상황은 어떤지 한눈에 파악할 수 있다.
효율적인 협업
- 이슈 페이지에서 댓글로 의견을 주고받으며 작업을 구체적으로 논의할 수 있다.
- 작업을 작은 단위로 나눠 체계적으로 진행할 수 있다.
작업 추적 가능
- 이슈에는 고유한 번호가 부여되어, 관련된 커밋이나 작업 내용을 쉽게 추적할 수 있다.
결론
이슈는 프로젝트를 효율적으로 관리하고 팀원 간 협업을 원활히 만들어주는 핵심 도구이다.
이슈의 작업 흐름 (Work Flow)
1. 작업 필요
예를 들어 A라는 기능이 필요한 상황이다.
2. 이슈 생성
- A 기능 개발을 위한 이슈를 생성
- Github는 이슈 생성 시 고유 번호를 자동으로 부여(#123 이런식)
3. 브랜치 생성
- 기존 브랜치(예: main)에서 A 기능을 개발하기 위한 새 브랜치를 만듭니다.
- 예: feat/A
4. 작업 진행
- 개발자는 새로 만든 브랜치에서 A 기능 개발 작업을 시작
- 작업 중 변경된 사항을 커밋
5. 커밋과 이슈 연결
- 커밋 메시지에 이슈 번호를 추가
- 예: git commit -m "A 기능 추가 #1"
- 커밋 메시지에 이슈 번호를 추가해야 이슈 페이지에서 관련된 커밋 내역을 확인할 수 있음
이슈 번호는 이슈를 생성할 때 자동으로 부여됨
이슈 번호를 작업과 이슈를 연결하므로 커밋 메시지에 꼭 이슈 번호를 넣어줘야 함
참고 : https://velog.io/@pgmjun/Github-협업-이것만은-알자-Issue-PR