처음 GitHub를 쓰는 DevPick 팀을 위한 최소 규칙입니다.
목표는 간단합니다: 실수 줄이고(직접 push/PR 누락), 충돌 줄이고, 누구나 같은 방식으로 작업하기.
- main / develop 직접 push 금지 → 모든 변경은 PR로만 이동
- 작업은 Jira 티켓 단위로 진행(브랜치/PR/커밋에 티켓 번호 남기기)
- 작게 나눠서 올리기(작은 PR, 작은 커밋)
.env, 토큰, 키 등 시크릿은 절대 커밋 금지- 30분 이상 막히면 바로 공유(같은 문제로 시간 낭비하지 않기)
main: 배포 기준(안정) 브랜치 — 직접 작업/직접 push 금지develop: 개발 통합 브랜치 — feature PR이 모이는 곳feature/*: 기능 개발 브랜치 — 새 기능/개선fix/*: 버그 수정 브랜치 — 개발/테스트 중 발견된 버그hotfix/*: 운영 긴급 수정 — 배포 장애/치명 이슈
feature/DP-###-short-desc- 예시(DevPick AI 맥락):
feature/DP-139-ai-initfeature/DP-150-summary-endpointfix/DP-162-json-parse-errorhotfix/DP-170-prod-timeout
아래 순서만 지켜도 사고가 거의 안 납니다.
develop최신화- 새 브랜치 생성
- 기능 개발
- 로컬 테스트/실행 확인
- 커밋(작게)
- 원격 push
- PR 생성(
feature/*→develop) - 리뷰 1명 이상 승인
- 머지(권장: Squash)
- 브랜치 정리(삭제)
- 가능한 작게: 한 번에 이해되는 정도가 목표
- 가이드: 변경이 너무 크면(대략 수백 줄 이상) PR을 쪼개기를 먼저 고민
- 형식:
[type] 작업 요약 - type 예시:
feat,fix,refactor,docs,test,chore - 예시:
[feat] 요약 API 스켈레톤 추가[fix] 요약 결과 스키마 누락 수정
## Jira
- DP-### (링크)
## 의도(왜?)
- 이 PR이 해결하는 문제/목표
## 변경점(무엇?)
- 핵심 변경 3줄 요약
## 테스트(어떻게 확인?)
- 실행 명령 / 요청 예시 / 결과
- 예) uvicorn 실행, /health 또는 /summary 호출
## 리스크/주의사항(있다면)
- 배포/호환/마이그레이션 등
## AI 사용 여부
- Copilot/ChatGPT 사용 여부 + 어디에 사용했는지
- 승인 1개 이상 필수
- 승인 받기 전 혼자 머지하지 않기(급한 경우도 팀에 먼저 공유)
type: 내용 (DP-###)
예시:
feat: add summary endpoint skeleton (DP-150)fix: handle invalid json output (DP-162)docs: add contributing guide (DP-139)
feat기능fix버그docs문서chore설정/초기화refactor리팩토링test테스트
main, develop 브랜치에 대해 아래 설정을 권장합니다.
- Pull Request 필수
- 최소 승인 1개
- 머지 전 CI 통과 필수(추후 Actions 붙이면 적용)
- Force push 금지
- Squash and merge 권장
- 이유: 커밋 히스토리가 깔끔하고, 되돌리기(rollback)가 쉽습니다.
git checkout develop
git pull origin developgit checkout -b feature/DP-139-ai-initgit status
git diff --cached --name-onlygit add .
git commit -m "chore: init ai service skeleton (DP-139)"git push -u origin feature/DP-139-ai-initgit checkout develop
git pull origin develop
git branch -d feature/DP-139-ai-init
git push origin --delete feature/DP-139-ai-init