
깃허브 기본은 이 글을 참고하면 된다.
협업 프로젝트에서는 여러 사람이 각자 맡은 기능을 동시에 개발하기 때문에 코드가 빠르게 쌓이고 충돌이 발생하기도 한다. 이때 누가 어떤 버전에서 어떤 기능을 구현했는지 명확하게 기록해두지 않으면, 나중에 코드를 되돌리거나 변경 이유를 확인하는 과정에서 큰 혼란이 생긴다.
그래서 협업에서는 Project와 Issue를 체계적으로 사용하는 것이 필수적이다.
GitHub에 들어가면 상단에 Issues, Projects 메뉴가 보이는데, 이 글에서는 이 두 기능이 무엇이고 어떻게 사용하면 협업이 훨씬 편해지는지 정리하려고 한다.

Project는 칸반보드를 주로 사용하며 작업의 상태를 시각적으로 관리할 수 있는 기능이다.
작업의 흐름을 한눈에 볼 수 있어 협업할 때 특히 유용하다.
프로젝트 생성 방법은 다음과 같다.
1. projects -> new project -> board -> create project
2. 필요한 경우 상태 컬럼을 추가하거나 라벨명, 색상 등을 변경할 수 있다.

프로젝트 화면 하단의 Add item 버튼을 통해 이슈를 바로 생성할 수 있고, 또는 Issues 탭에서 따로 생성한 뒤 프로젝트에 연결하는 것도 가능하다.
Issue는 버그 수정, 기능 추가, 리팩터링, 디자인 조정 등 개발 과정에서 발생하는 모든 작업과 팀 내 논의가 기록되는 문서이다.
이슈 생성 방법은 다음과 같다.
1. Issues → New Issue
2. 제목과 설명 입력
3. 담당자 설정, 라벨 추가, 프로젝트 연결, 필요할 경우 마일스톤(목표 기간) 설정

모든 설정을 마치고 Create를 누르면 이슈가 생성된다.

GitHub에서 기본 라벨을 제공하지만, 협업 프로젝트에서는 팀에 맞게 자주 쓰는 라벨을 정리해두는 것이 훨씬 효율적이다.

프로젝트와 이슈를 생성했다면, 이제 실제 코드 작업을 진행하면서 이슈와 버전을 연결하면 된다.
커밋 메시지에 (#이슈번호)를 적어두면 GitHub에서 자동으로 Issue와 커밋이 연결된다.
작업이 완료되면 PR을 생성하고, 코드 리뷰와 머지를 거친 뒤 해당 Issue를 Close 하면 된다.
그동안 프로젝트 관리하기 어려웠는데 좋은 방법 알려주셔서 감사합니다 ㅎㅎ