1. .github 란?
- GitHub에서 인식하는 특수한 구성 파일들을 저장하는 공간
- 이 디렉토리를 통해 이슈 템플릿, PR 템플릿, 자동화 워크플로우, 행동 수칙 등을 정의할 수 있다.
2. 주요 기능
Issue Template
- ISSUE_TEMPLATE/bug_report.yml 또는 feature_request.yml 같은 파일을 만들어 이슈를 등록할 때 일정한 형식을 유도할 수 있다.
# .github/ISSUE_TEMPLATE/bug_report.yml
name: 🐞 Bug Report
description: 버그 제보를 위한 템플릿
title: "[BUG] "
labels: [bug]
body:
- type: textarea
id: what-happened
attributes:
label: 어떤 문제가 발생했나요?
placeholder: 자세히 적어주세요
Pull Request Template
- PR 메시지 형식을 통일할 수 있다. 팀원들이 빠뜨리지 않고 내용을 작성하게 돕는다.
<!-- .github/pull_request_template.md -->
## 📌 변경 사항
-
## ✅ 체크리스트
- [ ] 코드가 정상적으로 동작함
- [ ] 테스트를 추가함
GitHub Actions
- workflows 디렉토리에서 CI/CD 또는 자동화 작업을 정의할 수 있다.
# .github/workflows/build.yml
name: Build Project
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: '17'
- name: Build with Gradle
run: ./gradlew build
CODEOWNERS
- 특정 경로나 파일에 대해 코드 리뷰 책임자를 지정할 수 있다.
# .github/CODEOWNERS
/docs/ @doc-writer
/src/main/java/com/example/security/ @security-lead
FUNDING.yml (후원 버튼)
# .github/FUNDING.yml
github: [yourusername]
patreon: yourpatreonid
3. 정리
기능 | 파일 위치 | 목적 |
이슈 템플릿 | .github/ISSUE_TEMPLATE/*.yml | 버그/기능 이슈 템플릿 지정 |
PR 템플릿 | .github/pull_request_template.md | PR 형식 통일 |
GitHub Actions | .github/workflows/*.yml | 자동화 (테스트, 빌드, 배포 등) |
CODEOWNERS | .github/CODEOWNERS | 코드 리뷰 책임자 지정 |
FUNDING | .github/FUNDING.yml | 후원 링크 연결 |
.github 디렉토리를 잘 활용하면 협업의 품질을 표준화하고, 자동화를 통해 생산성을 높일 수 있다.
특히 팀 프로젝트나 오픈소스를 운영할 때 필수적인 도구이다.
'Git > Git' 카테고리의 다른 글
커밋 컨벤션 (Commit Convention) (0) | 2025.04.18 |
---|---|
default branch를 main으로 변경하기 (0) | 2025.04.15 |