[Github] Project 사용하기
Github의 레포지토리는 소스 코드, 혹은 그와 관련된 파일들을 보관할 수 있는 저장소 입니다.
프로젝트는 레포지토리와 독립적으로 진행될 수 있습니다.
한 개의 레포지토리에서 여러 개의 프로젝트를 진행하거나, 한 개의 프로젝트에서 여러 개의 레포지토리를 이용하는 등의 상황이 생길 수 있습니다.
Github는 이러한 유동적인 상황을 관리하기 위해 Project툴을 제공합니다.
이번 글에서는 Github에서 제공하는 Project에 대하여 살펴보도록 하겠습니다.
1. Project
Project는 레포지토리와 독립적입니다.
Project를 레포지토리에서 생성할 수는 없고, 만들어진 Project를 가져오는것 만 할 수 있습니다.
Project는 Organization 단위에서 종속적입니다. 따라서 개인의 프로필, 혹은 추가적으로 생성한 Organization에서 프로젝트를 만들 수 있습니다.


각각 개인 프로필과 Organization의 Project 탭 입니다.
New Project를 누르는 것으로 새 프로젝트를 생성할 수 있습니다.
2. Project Template
New Project를 선택할 경우, 프로젝트의 템플릿을 선택할 수 있습니다.

총 4개의 템플릿을 선택할 수 있습니다.
Table과 Board는 한 개의 탭을 만들어주고, Team backlog와 Feature는 정해진 템플릿에 따라 기본적인 틀을 잡아주는 점이 다릅니다.
선택된 템플릿은 영구적이지 않으며, 이후 수정 및 추가가 가능합니다.

이번 글에서는 Table을 선택해서 생성하도록 하겠습니다.
Project의 이름은 Project의 이름을 눌러 수정하거나, 우측 상단의 Setting 탭에서 변경할 수 있습니다.
3. Project Detail
레포지토리의 Readme.md처럼, 프로젝트도 자신을 설명하는 탭이 따로 존재합니다.


프로젝트 화면 우측 상단의 Project details버튼을 통해, Project description을 볼 수 있습니다.

혹은, 그 옆의 더보기 버튼 (점 3개)의 Setting에서 수정하는 것도 가능합니다.
4. Project Quick access
생성한 Project는 단독적으로 사용할 수도 있지만, 레포지토리에서 접근할 수 있도록 연결할 수 있습니다.

레포지토리의 Projects탭에서, 만들어진 프로젝트를 연결할 수 있습니다.
이 때, 레포지토리의 소속이 개인 프로필이면 개인 프로필에서 만든 프로젝트가, Organization에서 만든 레포지토리에는 Organization에서 만든 프로젝트가 노출됩니다.
5. Project View
Project의 View는 수정이 가능합니다.

탭의 화살표를 통해 레이아웃을 변경하고, 그룹을 나누거나, 정렬 방식을 변경하는 등의 수정이 가능합니다.
또한, 좌측의 New view 버튼을 통해 추가적인 탭을 만들 수 있습니다.

두 번째 View를 생성한 모습입니다.
6. Project Item
Project View에 입력될 수 있는 요소는 두 종류 입니다.



- 첫 번재는 Draft입니다. 소속이 없는 issue로 간략한 메모 느낌으로 작성하여, 이후 프로젝트를 지정하여 Issue로 만들 수 있습니다.
- 두 번째는 레포지토리에 있는 이슈 입니다. 레포지토리에 있는 이슈를 가져와서 프로젝트에 등록할 수 있습니다.
두 요소 모두 Issue라는 점에서 동일하지만, 레포지토리에서 Issue를 가져오지 않고, Project에서 Issue를 만들 수 있다는 점을 소개하기 위해 분류했습니다.
Project는 사용하는 목적에 따라 다양하게 사용할 수 있습니다.
기본적으로 일정관리 및 이슈트래킹이겠지만, 템플릿을 지정하는 방식과 규칙에 따라 다양한 조합이 가능할 것 입니다.
이번 글에서는 Project의 기본적인 요소에 대한 소개만 있었습니다.
개괄적인 이해에 도움이 되시길 바라며, 본인에게 맞는 방법을 찾으실 수 있길 바랍니다.
감사합니다.