깃허브의 리포토리를 만들면 상단에 다양한 탭들이 존재합니다.
오늘은 이 탭들의 내용에 대해서 알아보도록 하겠습니다.
Code
항목에는 프로젝트의 내용이 표시됩니다.
소스 코드, 커밋 기록, 프로젝트의 세부 내용, README.md가 보여지게 됩니다.
Issues
탭에는 프로젝트와 관련한 이슈
들을 적을 수 있습니다.
이슈
는 버그부터 시작해서 추가할 기능 등 프로젝트를 진행하면서 관련된 모든 것들을 의미합니다.
우측 상단의 New Issue
버튼을 통해 새로운 이슈를 등록할 수 있습니다.
이슈를 등록하면 다음과 같이 이슈창이 생깁니다. 이 공간에서 프로젝트의 멤버들은 이슈를 확인하고 토론하게 됩니다. 이슈가 해결되면 이슈를 등록한 사람은 Close issue 버튼을 통해서 이슈를 종료하게 됩니다. 삭제 기능이 있긴하지만, 프로젝트를 원활하게 관리하기 위해서는 삭제 보다는 close를 통해 이력을 남겨놓는 것이 좋습니다.
추가적으로, 이슈탭에는 Milestone
이라는 기능이 있습니다. 마일스톤은 진척표를 의미하는 단어로 마일스톤을 통해 프로젝트의 진척도를 확인하고 해당 진척 사항에서 발생 이슈들을 묶어서 관리할 수 있습니다.
마일스톤 탭에서 New Milestone 버튼을 통해 마일 스톤을 만들 수 있습니다. 마일스톤을 만든 후 이슈를 등록할 때 오른쪽의 메뉴에서 이 이슈가 어느 마일스톤에 포함되는 이슈인지를 선택할 수 있게 됩니다.이렇게 마일스톤과 이슈를 통해 개발의 진척 사항을 쉽게 볼 수 있습니다.
Pull request
는 저장소의 주인이 아닌 멤버가 본인의 개발 사항을 merge 해달라고 요청하는 메뉴입니다.
- 멤버는 리포지토리에서 프로젝트를
fork
합니다.fork
로 가져온 저장소에서 개발을 마친 후, 원본 저장소에 merge를 하기위해 pull request를 요청합니다.
대학교 재학 중 깃허브를 통해 협업해서, 실제로 풀 리퀘스트를 경험했던 사진의 일부입니다. 이처럼 본인이 개발한 커밋들에 대해 요청을 보내고, 멤버들은 이 요청에 대해 다양한 comment를 달을 수 있습니다.
오늘은 탭 소개가 목적이기에 간단하게만 이야기하고, Pull request
에 대해선 따로 다룰 기회가 있다면 다뤄보도록 하겠습니다.
Actions
는 소프트웨어 개발의 workflow
를 자동화 시켜주는 메뉴입니다.
리포지토리의 코드로 빌드, 테스트, 패키지, 배포
를 깃허브 메뉴에서 할 수 있도록 만들어주는 기능이라고 할 수 있습니다.
Project
는 프로젝트의 내용을 볼 수 있는 게시판을 지원하는 메뉴입니다.우측의 메뉴에서 이미 만들어 놨던 프로젝트에 리포지토리를 연결(Link a project)하거나 새로운 프로젝트를 생성할 수 있습니다.
New project를 통해 새 프로젝트를 생성하면 여러 템플릿들이 나오는데 개인이나 팀의 취향에 맞춰서 고르면 됩니다. (개인적으로 Board 형태가 편했으므로 여기선 Board 템플릿을 선택했습니다.)
기본적으로 세 가지 보드가 생성되어 있습니다. 여기에 프로젝트의 Todo나 진행 중인 개발, 완료된 개발 외에 커스텀으로 만든 보드까지 포함해서 프로젝트의 여러 이력들을 등록할 수 있습니다.
Wiki
는 프로젝트의 사용 설명서 등을 적는 공간입니다.
프로젝트/사람마다 이 공간을 다르게 사용하고 있습니다. 사용설명서를 적는 사람도 있고, 릴리스 일지를 적는 사람도 있는 등 사람마다 다양한 방식으로 사용하고 있습니다.
Security
는 리포지토리의 코드에 대한 보호나 보안 분석을 수행하는 메뉴입니다. 코드에서 보안적인 문제가 발생했을 경우 이 탭에서 어떤 부분에서 문제가 발생했고 어떻게 해결하면 되는지를 알려줍니다
Insight
는 프로젝트에서 발생한 여러 활동들을 도표 등으로 보기쉽게 알려주는 메뉴입니다.
주요한 메뉴들 몇 가지를 소개하자면,
Settings
는 리포지토리에 대한 설정들이 있는 메뉴입니다.
리포지토리명, 삭제, 공개처리나 콜라보레이터, Pages라던가 다양한 부분의 다양한 설정들을 제공하고 있습니다.