-
Notifications
You must be signed in to change notification settings - Fork 3
반갑개의 브랜칭 전략
이충렬(트레) edited this page Jul 19, 2024
·
1 revision
- main : 구글 플레이에 배포된 최신 소스코드가 반영되어 있는 브랜치
- develop : feature에서 개발한 기능을 merge하는 브랜치 (개발 환경에 배포)
- feature : 기능을 개발하거나 리팩토링하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
- 기능 요구사항을 작성한 issue를 생성한다.
- 해당 issue에 대한
feature
브랜치를 만들고 코드를 작성한다. - 기능 개발이 완료되면 PR을 올린다.
- 최소 2명 이상의 코드 리뷰 및 approve를 받는다.
- 리뷰가 완료되면 squash and merge를 통해
develop
브랜치에 merge한다. - 배포 준비가 완료되면
release-1.0.0
브랜치에 merge한다. - 배포가 성공적으로 완료되면
main
브랜치에 merge한다.
feat: 새로운 기능 개발
-
Prefix
-
feat
: 새로운 기능을 추가하는 경우 -
fix
: 프로덕트 코드에 있는 버그, 도메인 잘못 이해해서 발생한 logical error, 기능적 결함 등 -
style
: 공백이나 개행 수정, 코드 포맷 변경, 코드 수정이 없는 경우, import 순서 -
refactor
: 리팩토링 (코드나 로직 변화는 있지만 기능 변화는 없는 경우), 패키지 구조 변경, 파일 이동, 클래스명 변경, 파일 삭제 등 -
comment
: 주석 추가, 변경, 삭제 -
chore
: 의존성 추가, yml 변경, java 파일 외 외부 파일 변경 (data.sql
등) -
docs
: 각종 문서를 수정한 경우 (readme, API 문서 등) -
test
: 테스트 관련 모든 커밋 (버그, 오류 수정, 리팩토링 포함)- 단, TDD 방식으로 테스트와 프로덕션 코드를 함께 작성하는 경우
feat
등을 사용한다.
- 단, TDD 방식으로 테스트와 프로덕션 코드를 함께 작성하는 경우
-
remove
: 기능 삭제
-
- 리팩토링 하면서 클래스명이나 패키지 구조를 변경하는 경우, 무조건 별도의 커밋이나 PR을 날린다.
- (커밋 메시지 예시)
feat: 채팅 기능 추가
[BE] feat: 새로운 기능 개발
- 운영 배포용 브랜치: main
- 베타 배포용 브랜치: release
- 베타 배포 후 QA가 완료되면 main으로 merge한다
- release에서 hotfix 브랜치를 만들어서 대응한다.
- 급한 롤백이 필요하면 구글 플레이에서 제공하는 롤백 기능을 활용한다.
- Git에서는 main 브랜치에서 tag로 버전을 관리하고, 해당 버전으로 롤백한다.
누누
채드
에디
- PR에 대한 단위 테스트 자동화
- 반갑개 OAuth 2.0 로그인을 해보아요
- 네트워크 통신 에러 핸들링
- Unauthorized 에러 분기 처리
- Firebase Analytics 및 Crashlytics 를 활용하여 앱 사용자 데이터 수집
- Google Play Store 배포 자동화
벼리
도도
- [문제해결]서버 스웨거 접속이 왜 안될까?
- (문제해결) AWS S3 KEY정보 없이 보안 챙기며 Spring에 연동하기
- (문제해결) MockAPI 적용해보기
- (성능개선) DB 마이그레이션 서비스 무중단으로 해보기
- (성능개선) 사용자가 많아지면, 서버 한대로 버틸 수 있을까?
- (성능개선) 사용자가 많아지면, 조회속도가 많이 느려진다.
- [공부] PUT VS PATCH
- [공부] 서버 실행 중, JAR파일을 삭제하면!?
- [[공부] classPath란?
땡이
위브
트레