Team Project
는 언제나 많은 난관들에 봉착하게된다.
소스코드 통합, 관리, 일정 관리, 업무 분담, 진행 상황 공유, ...
만약 Git Hub
에서 Team Project
를 진행 중이라면,
Issues
, Projects
, milestones
를 통해서,
Team Project
협업의 난관들을 해결해나갈 수 있다.
오늘은 Issues
, Projects
, milestones
를 활용해,
Team Project
를 진행하는 방법을 살펴보려한다.
먼저 해당 글은 Git Hub
에서 Repository
를 생성해서,
Member
들을 초대해 Team Project
를 수행하고 있는 상황을 기본 전제로 시작한다.
당연하지만 Team Project
를 수행하고 있는 Repository
가 필요하다!
Repository
의 Tab 가운데 Issues
는 다양한 방법으로 활용 가능하다.
Issues
에서는 개발 중인 기능 관련 이슈, 문제 상황 등을,
Issues
생성을 통해 다른 사람들과 공유할 수 있다.
Issues
생성은 Repository
의 Issues
Tab으로 이동해,
New issue
버튼을 통해 생성할 수 있다.
그럼 아래와 같은 화면이 나온다.
Title
에서는 해당 Issue의 제목,
Comment 부분에는 자유롭게 해당 Issue에 대한 댓글을 작성할 수 있다.
Submit new issue
로 바로 Issues
생성을 할 수도 있지만,
아직 더 활용할 수 있는 요소들이 남아있다.
먼저 Assignees
는 해당 Issues
에 대해 같이 공유하거나 담당하게 될,
Project Member
를 선택할 수 있다.
Labels
는 특정 Issues
를 분류할 수 있는 Category
와 같은 요소이다.
Edit labels
를 통해서 새로 label
을 생성하거나 편집할 수 있다.
여기서 생성한 Label
을 Issue
에 할당해,
해당 Issue
의 성격을 분류할 수 있다.
해당 Issue
의 일정 관리를 위해 할당 Project
를 선택할 수 있다.
Project
내에서도 Issue
생성이 가능하며,
Project
에 대한 설명은 아래에서 설명한다.
Issue
생성 요소 중 마지막 요소로,
해당 Issue
의 기한을 선택할 수 있다.
Meilestone
에 대한 설명은 아래에서 설명한다.
이제 Submit new issue
를 클릭하면 해당 Issue
가 생성된다.
이렇게 생성된 Issue
에서 서로 자유롭게 Comment
로 의견을 공유할 수 있다.
@아이디
로 특정 사용자에게 mention 기능도 사용할 수 있다.
코드 수정 작업 후 commit
명령어로 Version을 남길 때,
[#이슈번호] 커밋내용
형식으로 메시지를 남기면,
해당 Issue
에서 Commit
내역들을 모아 볼수도 있다.
명령어로 아래와 같은 형식이다.
git add *
git commit -m "[#이슈번호] 메시지내용"
git push
Issue
를 활용해서 만들어야할 기능 관련, 버그 관련, 궁금사항 들을
Label
로 성격을 구분짓고,
Commit
내역들을 모아 History를 남기고,
Comment
로 서로 의견들을 공유하자.
Projects
로 Project를 세분화해 일정별로 관리할 수 있다.
Repository
의 Tab 중에서 확인할 수 있다.
아래 처럼 Repository
내의 Project
들을 확인할 수 있는데,
해당 Project를 좀더 세분화 시켜 협업하고 싶을 때 사용하면 된다.
Project
탭에서 New Project
버튼을 클릭해,
Project
를 생성할 수 있다.
해당 Project
의 이름과 설명을 선택할 수 있고,
Template
부분에서 생성 되자마자 Template
을 적용시킬지 선택할 수 있다.
Project
는 기본적으로 Template
를 선택하여 생성할 수 있는데,
Column
과 Card
로 구성되어 있다.
Column
은 위 사진에서 To do
, In progress
, Done
과 같은 요소이다.
Add column
을 통해 추가할 수 있다.
이렇게 Column
들을 단계별로 구분지어 놓고,
Card
를 생성하여 일정을 관리할 수 있다.
Card
는 Column
안에서 사용하는 요소로,
실제 작업해야하는 내용들을 만들어 사용하면 된다.
Project
화면 우측에 Add cards
를 통해 생성하거나,
Column
내에서 +
버튼을 클릭해 생성할 수 있다.
이렇게 생성한 Card
는 단순 제목 부분 밖에 존재하지 않는다.
그대로 사용해도 되지만, 이전에 살펴본 issue
로 전환하여 사용할 수도 있다.
해당 Card
의 ...
부분을 클릭하고 Convert to issue
버튼을 클릭하면 된다.
위 사진 처럼 issue
를 생성하며 Body
부분을 작성할 수 있다.
project
내에서 이렇게 생성된 issue
를 선택하면,
우측에 아래와 같이 요약된 issue
내용을 확인할 수 있다.
여기서도 수정 및 close가 가능.
Go to issue for full details
로 issue
화면으로 이동할 수도 있다.
issue
를 생성하고 Projects
요소에 Project
를 선택하면,
해당 Project
내에서도 바로 확인 가능하다.
Project
를 통해 issue
들을 세분화 하여 Project
단위로 나누어,
진행 상황 별로 구분지어 한눈에 관리할 수 있다.
Milestones
는 Project
의 issue
를 기한별로 관리할 수 있게 해준다.
Issue
Tab에서 Milestones
Tab을 클릭해보자.
여기서 해당 Repository
내의 Milestone
들을 확인할 수 있다.
New milestone
버튼을 통해 새로운 Milestone
을 생성해보자.
해당 Milestone
의 제목, 일정 설명을 설정할 수 있다.
Milestone
을 클릭하여 살펴보면,
생성할 때 Milestone
을 설정한 issue
들의 목록을 확인할 수 있다.
그리고 더 자세히 살펴보면 기한과 달성률을 살펴볼 수 있는데,
이 달성률은 Open
된 issue와 Closed
된 issue를 토대로 책정된다.
Milestone
내의 issue
들이 Closed
될 때 마다, 달성률이 올라간다.
이렇게 issue
들에 Milestone
을 할당해,
기간별로 issue
를 관리하며 협업할 수 있다.
오늘은 Git Hub
에서 제공하는 Issue
, Project
, Milestone
에 대해 알아봤다.
협업의 꽃인 Issue
의 생성과 관리를 어떻게 하느냐에 따라 천차만별의 협업이 될 것이다.
Project
를 통해서 Issue
들을 일정에 맞게 세분화하여 관리하고,
Milestone
을 통해 Issue
들을 기한에 맞게 관리하며,
Commit
들 역시 Issue
를 통해 취합하면서
Issue
, Project
, Milestone
활용으로,
자신의 Team 상황에 맞는 협업을 알맞게 진행해보자.