최종 배포 가능한 상태만 유지
dev에서 충분히 테스트된 내용만 Merge
다음 배포를 위해 개발된 기능들이 모이는 곳
항상 빌드 및 배포 가능한 상태 유지
dev에서 분기하여 새로운 기능 개발
작업 완료 후 dev로 PR
🪵 Branch Naming Convention
형식: {header}/{issue-number}
예시: feat/#5 fix/#11 refactor/#23
💡 Issue & Pull Request (PR) Rules
Assignees에 본인을 선택했나요?
컨벤션에 맞는 Type 선택
Assignees에 본인을 선택했나요?
컨벤션에 맞는 Labels 선택
Development에 이슈 연동
Merge 브랜치 확인 (dev)
컨벤션 준수
로컬 실행 시 에러 없음
Merge: Squash and Merge 사용
제목 예시) #2 [chore] 이슈 및 PR 템플릿 추가
Merge 완료 후 브랜치 자동 삭제
⌨️ Commit Message Convention
Category
Type
Description
🚀 Feature
✨ Feat
새로운 기능 추가
🚀 Feature
💥 Breaking Change
하위 호환성 없는 큰 API 변경
🐞 Bug
🐛 Fix
버그 수정
🐞 Bug
🚑 Hotfix
긴급 치명적 버그 수정
🛠 Task
🔨 Chore
빌드 업무, 패키지 설정, .gitignore 수정 등
🛠 Task
👷 CICD
CI/CD 파이프라인 및 배포 관련
🛠 Task
♻️ Refactor
코드 리팩토링 (기능 변경 없음)
🛠 Task
💄 Style
코드 포맷팅, 세미콜론 누락 등 (로직 변경 없음)
🛠 Task
💡 Comment
주석 추가 및 변경
🛠 Task
🏷️ Rename
파일/폴더명 수정 또는 이동
🛠 Task
🔥 Remove
파일 삭제
🛠 Task
🎉 Init
프로젝트 초기 세팅
🛠 Task
🔀 Merge
브랜치 병합
🛠 Task
🧪 Test
테스트 코드 추가/수정
🛠 Task
📚 Docs
문서 수정 (README, Wiki 등)
작업 전 항상 dev 브랜치 최신 상태 유지
작업 중일 때 (Stash 활용):
git stash # 작업 중인 코드 임시 저장
git pull origin dev # 원격 dev 브랜치 내용 당겨오기
git stash pop # 임시 저장했던 코드 다시 가져오기
git pull origin dev # 원격 dev 브랜치 내용 당겨오기
작업 목적에 맞는 독립 브랜치 생성 후 작업 시작
# 형식: {type}/#{issue-number}
git checkout -b feat/#1
- IDE Commit UI 활용
- git add . 또는 논리적 단위 커밋
- 커밋 메시지 : Commit Message Convention 준수
git push origin {생성한-브랜치-명}
# 예: git push origin feat/#1
com.swyp.app
├── AppApplication.java
│
├── domain
│
└── infra