자! 깃 마스터해서 프로젝트 해보자고!!!
학습시간 09:00~02:00(당일17H/누적858H)
팀프로젝트를 위한 Git & GitHub 정보
💡 Repository 이름 짓는 팁
pill-detectionocr-uploadersupervision-labimage-preprocessing💡 브랜치 사용 이유
| 브랜치명 | 용도 | 설명 |
|---|---|---|
main | 제품 배포 버전 | 가장 안정된 코드 |
develop | 개발 통합 | 모든 기능 통합 전용 |
feature/* | 기능 개발 | ex. feature/login, feature/upload |
bugfix/* | 버그 수정 | ex. bugfix/image-crop-error |
hotfix/* | 긴급 배포 | 운영 환경 버그 긴급 대응용 |
브랜치 구조 예시
main
└─ develop
├─ feature/login
├─ feature/image-upload
├─ bugfix/preprocess-error
└─ hotfix/deploy-crash
feature/ocr-trainingbugfix/dataloader-shufflehotfix/deploy-issue| 브랜치타입 | 의미 |
|---|---|
feature | 새로운 기능 개발 |
bugfix | 코드 내 문제 수정 |
hotfix | 운영 환경 오류 긴급 대응 |
release | 배포 준비용 (optional) |
refactor | 리팩토링, 성능 개선 |
chore | 설정, 문서, 기타 잡작업 |
# 1. develop 기준 새 브랜치 생성
git checkout develop
git pull origin develop
git checkout -b feature/image-upload
# 2. 작업 후
git add .
git commit -m "feat: implement image upload endpoint"
git push -u origin feature/image-upload
# 3. PR 생성 → 리뷰 → Merge
# develop 최신 코드 반영
git fetch origin
git rebase origin/develop
-continue| 이유 | 설명 |
|---|---|
| 코드 충돌 방지 | 팀원 간 작업 분리 |
| 코드 리뷰 가능 | PR로 품질 관리 |
| 이력 추적 용이 | 기능별 변경 내역 파악 |
| 운영 안정성 확보 | main은 언제나 배포 가능 상태 유지 |
버전은 보통 다음과 같은 형식으로 작성
v[MAJOR].[MINOR].[PATCH]
| 항목 | 의미 |
|---|---|
| MAJOR | 큰 변화 (호환 깨짐) |
| MINOR | 새로운 기능 추가 (호환 유지) |
| PATCH | 버그 수정, 사소한 개선 |
예시
v1.0.0: 최초 안정 릴리즈v1.2.0: 기능 추가v1.2.1: 버그 수정v2.0.0: 구조 변경, 호환성 깨짐테스트 단계나 릴리즈 전 버전은 다음처럼 표기한다:
| 형식 | 의미 |
|---|---|
-alpha | 초기 테스트 |
-beta | 베타 테스트 |
-rc.1 | 릴리즈 직전 후보 |
-dev | 개발 중 내부 버전 |
예시
v1.2.0-betav2.0.0-rc.1git tag v1.2.0
git push origin v1.2.0
Releases 탭으로 버전 기록 가능.md 파일 예시
## [v1.2.0] - 2025-05-22
### Added
- 이미지 업로드 기능
### Fixed
- bbox 크기 오류 수정