main: 배포용 브랜치develop: 통합 개발 브랜치feature/#{issue-number}: 기능 개발 브랜치
[{Header}]: {Message}
Header 종류:
- FEAT: 새 기능 추가
- REFACTOR: 코드 리팩토링 (기능 변경 없음)
- ADD: 파일, 의존성 추가
- FIX: 버그 수정
- HOTFIX: 긴급 버그 수정
- DOCS: 문서 수정
- TEST: 테스트 코드 작성/수정
- CHORE: 기타 작업 (빌드, 설정 등)
예시:
[FEAT]: 로그인 화면 UI 구현
[REFACTOR]: AuthRepository DI 패턴 적용
[FIX]: 토큰 만료 시 자동 갱신 로직 수정
- 메시지: 한국어 사용, 한 줄, 최대 50자
- 특수기호: 마침표, 특수기호 사용 금지
- PR:
feature/#{issue}→develop머지 - Body: 필요시 작성, 무엇을 왜 변경했는지 기술
# 변경사항 스테이징
git add .
# 커밋 (한국어 메시지)
git commit -m "[FEAT]: 기능 설명"
# 푸시
git push origin feature/브랜치명- 브랜치 푸시: 작업 완료 후 즉시 원격 브랜치에 푸시
- Force Push 금지:
git push --force절대 사용 금지 (협업 시 충돌 방지) - 푸시 전 확인:
git status로 staged 파일 확인 후 푸시 - 브랜치명 확인:
git branch로 현재 브랜치 확인 후 푸시 - 메인 브랜치:
develop브랜치에 직접 푸시 금지, PR 통해서만 머지
- 파일 변경: 30개 내외로 제한 (최대 35개)
- 대형 PR 분할: 기능별로 여러 PR로 나누어 리뷰 효율성 확보
- 단일 책임: 하나의 PR은 하나의 기능/버그픽스에 집중
# ❌ 잘못된 예시 (너무 큰 PR)
feature/user-management
├── 회원가입 화면 (15개 파일)
├── 프로필 편집 (12개 파일)
├── 회원탈퇴 (8개 파일)
├── 설정 화면 (10개 파일)
└── 공통 컴포넌트 (8개 파일)
Total: 53개 파일 ❌
# ✅ 올바른 예시 (적절한 크기)
feature/user-signup # 회원가입 (15개 파일)
feature/user-profile-edit # 프로필 편집 (12개 파일)
feature/user-withdrawal # 회원탈퇴 (8개 파일)
feature/user-settings # 설정 화면 (10개 파일)
feature/user-components # 공통 컴포넌트 (8개 파일)# 1단계: 기반 인프라 먼저
feature/auth-infrastructure
├── AuthError.swift
├── AuthInterface.swift
├── AuthRepositoryImpl.swift
└── 기본 인증 구조 (20개 파일)
# 2단계: 개별 기능들
feature/auth-login # 로그인 (25개 파일)
feature/auth-signup # 회원가입 (30개 파일)
feature/auth-oauth # 소셜 로그인 (28개 파일)작성 전 확인:
- 파일 변경 개수가 30개 이내인가?
- 단일 기능/버그에 집중하고 있는가?
- 관련 없는 리팩토링이 포함되어 있지 않은가?
PR 설명 필수 항목:
- What: 무엇을 변경했는가
- Why: 왜 변경했는가
- How: 어떻게 구현했는가
- Test: 어떻게 테스트했는가
## 📋 변경 내용
- [ ] 새 기능 추가
- [ ] 버그 수정
- [ ] 리팩토링
- [ ] 문서 업데이트
- [ ] 의존성 업데이트
## 🎯 작업 내용
<!-- 구체적인 변경 사항 나열 -->
## ✅ 테스트 완료 항목
- [ ] 로컬 빌드 성공
- [ ] 주요 기능 동작 확인
- [ ] UI 테스트 완료
- [ ] 기존 기능 영향도 확인
## 📸 스크린샷 (UI 변경 시)
<!-- Before/After 스크린샷 첨부 -->
## 📝 리뷰 포인트
<!-- 특별히 확인이 필요한 부분 -->
## 📚 참고 자료
<!-- 관련 이슈, 문서 링크 -->우선순위 체크:
- 아키텍처 준수: TCA + Clean Architecture 패턴
- 에러 처리: Result 래퍼 + 적절한 에러 타입
- UI 일관성: DesignSystem 컴포넌트 사용
- 성능: 불필요한 렌더링, 메모리 누수 확인
- 보안: API 키 노출, 민감 정보 처리
리뷰 완료 조건:
- 모든 CI 체크 통과
- 2명 이상의 Approve
- 충돌(Conflict) 해결 완료
- 커밋 히스토리 정리 (squash 권장)
이 가이드는 에이전트들이 Git 워크플로우를 분석하고 최적화할 때 참고하는 기준입니다.