GitHub 저장소 내비게이션 바 설명
GitHub 저장소 페이지 상단에 있는 이 탭들은 프로젝트 관리, 코드 협업, 보안 등에 필요한 다양한 기능들을 제공합니다. 각 탭에 대해 자세히 설명해 드리겠습니다.
1. < > Code (코드)
- 설명: 저장소의 모든 코드 파일과 디렉토리를 탐색하고 관리하는 주된 탭입니다. README 파일, 라이선스,
.gitignore등도 여기서 확인할 수 있습니다. 기본 브랜치(예:main또는master)의 내용이 기본으로 표시됩니다. - 주요 기능:
- 파일 탐색: 디렉토리와 파일을 클릭하여 내용을 확인합니다.
- 커밋 내역: 각 파일/디렉토리 옆의 커밋 ID를 클릭하여 해당 파일/디렉토리의 변경 내역을 확인할 수 있습니다.
- 브랜치 변경: 드롭다운 메뉴를 통해 다른 브랜치로 전환하여 해당 브랜치의 코드를 볼 수 있습니다.
- 파일 업로드/생성: 웹 인터페이스를 통해 파일을 직접 업로드하거나 새로운 파일을 생성할 수 있습니다.
- 코드 다운로드: 저장소의 코드를 ZIP 파일로 다운로드하거나, Git 명령어를 사용하여 클론(clone)할 수 있는 URL을 제공합니다.
- 예시:
erkApp저장소의 모든 소스 코드 파일(예:.js,.css,.html파일)과 프로젝트 구조를 볼 수 있습니다.
2. ! Issues (이슈)
- 설명: 프로젝트와 관련된 버그, 기능 요청, 개선 사항 등 추적해야 할 모든 작업을 관리하는 곳입니다. 개발자들이 문제점을 공유하고 해결 과정을 논의하는 데 사용됩니다.
- 주요 기능:
- 새 이슈 생성: 버그나 기능 요청을 기록합니다.
- 이슈 필터링/검색: 특정 키워드, 라벨, 담당자 등으로 이슈를 찾습니다.
- 이슈 댓글: 이슈에 대한 토론을 진행하고 코드 스니펫, 이미지 등을 첨부할 수 있습니다.
- 라벨/마일스톤/담당자 할당: 이슈에 라벨을 붙여 분류하고, 마일스톤(특정 목표)에 할당하며, 특정 개발자에게 담당자로 지정할 수 있습니다.
- 예시: "로그인 버튼이 작동하지 않음"이라는 버그 이슈를 생성하고, 담당자를 지정하며, 해결될 때까지 진행 상황을 추적할 수 있습니다.
3. Pull requests (풀 리퀘스트)
- 설명: 협업의 핵심적인 부분으로, 개발자가 자신의 변경 사항(커밋)을 프로젝트의 메인 브랜치(예:
main)에 병합(merge)하기 위해 제안하는 기능입니다. 다른 팀원들이 코드를 검토하고 피드백을 제공할 수 있습니다. - 주요 기능:
- 새 풀 리퀘스트 생성: 로컬 브랜치의 변경 사항을 원격 브랜치로 병합하기 위해 제안합니다.
- 코드 리뷰: 팀원들이 제안된 코드 변경 사항을 검토하고, 댓글을 달고, 변경을 요청하거나 승인할 수 있습니다.
- CI/CD 통합: GitHub Actions와 같은 CI/CD 도구와 연동하여 자동으로 테스트를 실행하고 코드 품질을 검사할 수 있습니다.
- 병합: 모든 리뷰가 완료되고 테스트를 통과하면, 변경 사항을 대상 브랜치에 병합합니다.
- 예시: 새로운 기능
add-user-profile브랜치에서 작업한 내용을main브랜치에 추가하기 위해 풀 리퀘스트를 생성하고, 팀원들이 코드를 검토하게 할 수 있습니다.
4. Actions (액션)
- 설명: GitHub Actions는 저장소에서 직접 소프트웨어 개발 워크플로우를 자동화할 수 있는 CI/CD(지속적 통합/지속적 배포) 플랫폼입니다. 빌드, 테스트, 배포 등 다양한 작업을 자동화할 수 있습니다.
- 주요 기능:
- 워크플로우 정의: YAML 파일을 사용하여 자동화할 작업을 정의합니다.
- 자동화된 테스트: 코드를 푸시하거나 풀 리퀘스트가 열릴 때 자동으로 테스트를 실행하여 버그를 조기에 발견합니다.
- 자동 배포: 코드가 특정 브랜치에 병합될 때 자동으로 애플리케이션을 배포할 수 있습니다.
- 코드 품질 검사: 린트(lint) 검사나 보안 스캔을 자동화하여 코드 품질을 유지합니다.
- 예시: 코드를
main브랜치에 푸시할 때마다 자동으로 애플리케이션을 빌드하고, 단위 테스트를 실행하고, 웹 서버에 배포하는 워크플로우를 설정할 수 있습니다.
5. Projects (프로젝트)
- 설명: GitHub Projects는 칸반 보드나 스프레드시트 형태로 이슈, 풀 리퀘스트, 기타 노트를 시각적으로 정리하고 추적할 수 있는 도구입니다. 프로젝트 진행 상황을 한눈에 파악하고 팀의 작업을 관리하는 데 유용합니다.
- 주요 기능:
- 칸반 보드: "To Do", "In Progress", "Done"과 같은 열을 만들어 작업의 진행 상황을 시각적으로 추적합니다.
- 스프레드시트 뷰: 이슈와 풀 리퀘스트를 표 형태로 보고 정렬, 필터링, 그룹화할 수 있습니다.
- 자동화: 특정 조건에 따라 이슈나 풀 리퀘스트를 자동으로 이동시키거나 상태를 변경할 수 있습니다.
- 예시: 다음 스프린트의 모든 기능 개발 작업을 Projects 보드에 추가하고, 각 작업의 진행 상황을 "To Do"에서 "In Progress"를 거쳐 "Done"으로 이동시키면서 추적할 수 있습니다.
6. Wiki (위키)
- 설명: 저장소와 관련된 문서, 지식 베이스, 사용 설명서 등을 작성하고 관리하는 곳입니다. 프로젝트에 대한 장기적인 정보나 자주 업데이트되지 않는 자료를 저장하기에 적합합니다.
- 주요 기능:
- 마크다운 기반 문서 작성: Git을 사용하여 위키 페이지를 버전 관리하고 편집할 수 있습니다.
- 쉬운 문서 공유: 프로젝트 멤버들이 필요한 정보를 쉽게 찾고 공유할 수 있습니다.
- 튜토리얼 및 가이드: 프로젝트 설정 방법, 새로운 기능 사용법 등에 대한 가이드를 제공할 수 있습니다.
- 예시:
erkApp프로젝트의 개발 환경 설정 방법, API 사용법, 기여 가이드라인 등을 Wiki에 작성하여 팀원들이 참고할 수 있도록 할 수 있습니다.
7. Security (보안)
- 설명: 저장소의 코드와 의존성(dependency)에 대한 보안 취약점을 식별하고 관리하는 기능을 제공합니다.
- 주요 기능:
- Dependabot alerts: 사용 중인 라이브러리나 프레임워크에 알려진 보안 취약점이 있을 경우 알림을 제공합니다.
- Code scanning alerts: 코드 내에서 잠재적인 보안 취약점이나 버그를 스캔하고 보고합니다.
- Secret scanning alerts: 실수로 커밋된 API 키나 비밀번호 같은 민감한 정보가 있는지 스캔하고 알림을 보냅니다.
- Security policy: 저장소에 대한 보안 정책을 정의하고 표시합니다.
- 예시: 프로젝트에 사용된
axios라이브러리에 보안 취약점이 발견되면 Dependabot이 알림을 보내고, 해당 취약점을 해결할 수 있는 PR을 자동으로 생성해 줄 수 있습니다.
8. Insights (인사이트)
- 설명: 저장소의 활동, 커밋 내역, 풀 리퀘스트 통계, 참여자 현황 등 다양한 분석 데이터를 제공하여 프로젝트의 상태와 개발 동향을 파악하는 데 도움을 줍니다.
- 주요 기능:
- Contributors: 프로젝트에 기여한 사람들의 목록과 기여도를 보여줍니다.
- Community: 프로젝트 커뮤니티의 건강 상태와 성숙도를 측정하는 지표를 제공합니다.
- Traffic: 저장소의 방문자 수와 클론 수를 보여줍니다.
- Forks: 저장소가 포크된 횟수와 포크된 저장소를 보여줍니다.
- 예시: 지난 한 달 동안 가장 많이 기여한 개발자가 누구인지, 프로젝트의 코드가 얼마나 자주 업데이트되었는지, 방문자가 얼마나 되는지 등을 확인할 수 있습니다.
9. Settings (설정)
- 설명: 저장소의 이름 변경, 권한 관리, 브랜치 보호 규칙 설정, 웹훅 설정 등 저장소 자체의 모든 관리와 구성을 담당하는 탭입니다. 이 탭은 저장소의 관리자 권한이 있는 사용자만 접근할 수 있습니다.
- 주요 기능:
- General (일반): 저장소 이름, 설명, 토픽, 기능 활성화/비활성화 등을 설정합니다.
- Collaborators and teams (협업자 및 팀): 다른 GitHub 사용자나 팀에게 저장소 접근 권한을 부여하거나 제거합니다.
- Branches (브랜치): 특정 브랜치(예:
main)에 푸시 보호 규칙을 설정하여 강제 푸시를 방지하거나 코드 리뷰를 필수로 만들 수 있습니다. - Webhooks (웹훅): 특정 이벤트(예: 푸시, 풀 리퀘스트)가 발생했을 때 외부 서비스에 알림을 보내도록 설정합니다.
- Pages (페이지): GitHub Pages를 통해 저장소의 정적 웹사이트를 호스팅합니다.
- Secrets and variables (비밀 및 변수): GitHub Actions 워크플로우에서 사용할 민감한 정보(API 키 등)를 안전하게 저장합니다.
- 예시:
nao계정에erkApp저장소에 대한 푸시 권한을 부여하려면,nun계정으로 로그인하여 이Settings탭의Collaborators and teams섹션에서naom를 추가하고 쓰기 권한을 부여해야 합니다.

'프로그래머로의 여정' 카테고리의 다른 글
| SQLyog vs MySQL Workbench (0) | 2025.05.28 |
|---|---|
| CDN (Content Delivery Network) (0) | 2025.05.27 |
| GitHub 저장소 네비게이션 탭 (0) | 2025.05.27 |
| 벡터 그래픽 (Vector Graphic) vs 비트맵 그래픽 (Bitmap/Raster Graphic) (0) | 2025.05.18 |
| PassMark Rating이란? (0) | 2025.05.17 |