Git flow 전략
1. 이슈 등록
- [Issues] → [New issue]
- 이슈 제목과 내용들을 작성하고 오른쪽 탭에서 아래 목록의 설정을 진행합니다.
- Assigness : 본인 등록
- Labels: 이슈 목적에 맞는 라벨을 등록
- Projects: Surf 프로젝트 등록
- [Projects]
- To do : 시작 전
- In progress : 진행 중
- Done : 완료
2. 이슈 기반의 브랜치 생성
- 기존의 원격 레포지토리 최신화를 위해 develop 브랜치에서 Pull 작업 실행
- 이슈 기반 브랜치 생성
- git checkout -b feature/#[이슈 번호]
3. PR 등록
- [New pull request]
- base: develop 설정
- [Create pull request]
- PR 내용 작성 (인텔리제이에서는 Project 설정이 안되는 것 같아요. GitHub에서 PR 날리기)
- PR 제목: 이슈 내용 ex) 로그인 기능 구현
- Reviewers: 본인 제외 (
Jummi10
,kwhyo
,suebeen
,cse0518
,ksy90101(멘토님)
) - Assigness: 본인 등록
- Labels: 이슈와 동일
- Projects: Surf 프로젝트 등록
- Linked issues: PR 내용에 close : #이슈번호 작성
4. 코드 리뷰 및 Merge
- 코드 리뷰를 통한 코드 개선
- 코드 리뷰 및 코드 개선 후 [Rebase and merge]로 수정 후 PR의 Merge 진행
- 해당 PR과 연결된 이슈가 자동 Closed 되었는지 확인 후 Kanban board의 Card 역시 자동 이동 되었는지 확인
- 로컬 환경의 개발 IDE에서 develop 브랜치로 이동 후 Pull 작업 진행
- 제대로 최신화가 이루어졌는지 확인 후 이슈에 해당되는 개발을 진행한 feature 브랜치 삭제
- 현재로써 여기까지 과정이 제대로 이루어졌다면 git branch 입력 시 main, develop 브랜치만 남아야 합니다.
- 위 과정이 이루어진 후에는 1개의 이슈관리가 종료된것이며 새로운 이슈에 대해서는 다시 1번 단계로 진행이 이루어져야 합니다.
이슈 컨벤션
이슈의 크기에 따른 최소 단위를 제목으로 지정
ex) Text 컴포넌트 구현
ex) 로그인 기능 구현
ex) 로그인 기능 리펙토링
커밋 컨벤션
feat
: 새로운 기능 추가
fix
: 버그 픽스
docs
: 문서 수정
style
: 포맷, 세미콜론 수정, Optimize import, Code clean up 등 코드가 아닌 스타일 수정
refactor
: 코드 리팩토링
test
: 테스트 코드 추가
chore
: 빌드 관련 업무 수정(안드로이드의 경우 builde.gradle, manifest)