REPOSTORY MANAGEMENT
-
본 프로젝트는 메인 + 기능별 8개, 총 9개 모듈로 구성. 프론트 엔드/백엔드 서버 를 분리하여 레포지터리 구성.
-
각 담당자는 1)담당 모듈 레포지터리에 커밋/푸쉬할 베이스 프로젝트 생성/셋팅 후 2)터미널에서 아래의 커맨드로 초기 브랜치 셋팅 후 first commit.
-
main : 최종 배포를 위한 브랜치 (**master는 사용하지 않는다)
-
dev : 개발을 위한 브랜치 (모든 개발내용은 해당 브랜치위에서 feat단위로 서브 브랜치 생성/commit 후 해당 브랜치로 Merge 합니다)
-
test: 배포 전 테스트 서버 구동을 위한 브랜치.
git init
git add -A
** 작업 디렉토리 내의 모든 변경 내용을 몽땅 스테이징 영역으로 넘기는 명령어인데요, 처음 실행하기전 확인 부탁드립니다.
git commit -m "first commit"
git branch -M main
git remote add origin <https://github.com/*"레포지터리명"/"모듈명"*.git>
git push -u origin main
git branch test
git branch dev
git checkout dev
BRANCH NAMING
- Dev브랜치에서 작업을 시작할 모듈명을 1차로 ‘모듈명’으로 작성. (ex) Youtube, Weather 등
- 이후 작업할 기능별로 ‘모듈명_feat_작업명’을 표준으로 브랜치명작성 (ex) Main_feat_회원가입 / Weather_feat_날씨조회 등등
- 02/06: 브랜치명에 ‘:’을 사용할 수 없음을 발견하여 네이밍 원칙이 변경되었습니다. Main_feat:작업내용 → Main_feat_작업명
- 각 모듈의 feat 개발이 완료된 브랜치 명을 ‘모듈명_comeplete’으로 작성 (ex) Main_complete / Weather_complete
- 이후 완성된 모듈에 대한 수정시 작업 대한 분류/내용을 추가하여 작성, (ex) Main_complete_fix:Jwt에러개선 / Weather_complete_update:날씨스케쥴러추가
- 개발이 완료 및 로컬 환경 테스트가 완료된 모듈에 대하여
- Test 브랜치 Merge 후 테스트 서버에서 테스트(중단 테스트)
- 테스트 서버 완료된 건에 대하여 정식 서버 배포(무중단 배포)
Branch Structure
Main: 서버 배포를 위한 브랜치
Test: Main 배포 전 테스트 브랜치
Dev: 개발진행을 위한 브랜치. 모듈별 / 기능별 하위 브랜치 생성 후 Merge해 나가며 개발

Merge & Pull Request & Release & Deploy 관련
- Release(Main Branch로 Merge)는 수요일 오후에 진행. 다같이 있어야 함!
- Main으로 독립 배포 금지.
- HotFix는 2명 이상의 동의를 받는다.
- 모든 파트원 (Back : 4 / Front : 2)에게 리뷰(확인)를 받아야 Release를 진행할 수 있다.
- 리뷰는 내가 듣고 싶은 뉘앙스의 내용으로 남기고, 명령형보다는 청유형을 사용
- 통합(merge)은 테스트 및 프리티어, 린트가 적용되면 수행한다.