Trunk Based Development (TBD)는 소프트웨어 개발에서 사용되는 소스 코드 버전 관리 전략 중 하나로, 빠르고 효율적인 개발 사이클을 가능하게 해주는 방법.
Trunk Based Development는 모든 개발자가 하나의 공통된 코드 라인(일반적으로 'trunk' 또는 'master'라고 불림)에서 작업을 진행하는 개발 방식을 말합니다. 이 방식은 큰 기능 개발이나 수정 사항이 있을 때, 장기간 동안 분리된 브랜치에서 작업하는 대신, 짧은 주기의 브랜치를 만들어 빠르게 trunk에 병합(merge)하는 것을 목표로 합니다.
main
브랜치를 기본 브랜치로 설정합니다. 이 main
브랜치가 'trunk' 역할을 하게 됩니다.main
브랜치로부터 짧은 생명 주기를 가진 브랜치를 생성합니다. 예를 들어, feature/login-update
또는 bugfix/header-fix
와 같은 이름으로 브랜치를 만듭니다.main
에 자주 커밋하고 병합(merge)합니다. 이 과정에서 충돌이 발생할 수 있는데, 이를 신속하게 해결하여 코드 베이스를 최신 상태로 유지해야 합니다.main
브랜치에서 feature/header-section
이라는 브랜치를 생성합니다. HTML과 CSS를 사용하여 사이트의 헤더를 개발한 후, 작업이 완료되면 main
브랜치로 병합(merge)합니다.git checkout -b feature/header-section
# 헤더 섹션 작업 후
git add .
git commit -m "헤더 섹션 추가"
git checkout main
git merge feature/header-section
feature/portfolio-section
브랜치를 만들어 포트폴리오 섹션을 추가합니다.feature/contact-section
브랜치를 통해 연락처 정보를 추가합니다.main
브랜치로 병합하기 전에, GitHub의 Pull Request(PR) 기능을 사용하여 코드 리뷰를 요청합니다.main
브랜치로 최종 병합합니다.프로젝트: 고객 이탈률 분석
팀 구성:
시나리오:
feature/data-preparation
브랜치를 생성하여 데이터 수집 및 전처리 작업을 시작합니다. 작업 완료 후 main
브랜치로 병합하기 전에 Pull Request를 생성하고, 민지와 성민(데이터 분석가)에게 코드 리뷰를 요청합니다.feature/model-development-minji
와 feature/model-development-seongmin
브랜치를 생성하여, 고객 이탈 예측 모델을 개발합니다. 서로 다른 모델링 기법을 시도한 후, 가장 성능이 좋은 모델을 선정하기 위해 코드 리뷰 세션을 가집니다.main
브랜치로 병합하고, 프로젝트의 다음 단계를 계획합니다.feature/deployment
브랜치를 생성하여 모델 배포 준비를 합니다. 배포가 완료되면, 지훈은 프로젝트 회고 미팅을 통해 팀원들과 프로젝트 전반에 대한 피드백을 공유하고, TBD 전략의 효과성을 평가합니다.