Git/Git

.github 디렉토리

가지코딩 2025. 6. 4. 11:38

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