개발 tool을 사용하여 진행해 봅니다. (여기서는 Jira를 이용하는 것으로 가정합니다.)
- 작업이 시작하면 jira의 issue를 생성합니다.
- 1개의 issue ticket은 1개의 commit으로 합니다.
- commit graph는 최대한 단순하게 가져갑니다.
- 다른사람의 commit 내용은 함부로 변경하지 않습니다.
- 리뷰어에게 꼭 리뷰를 받습니다.
- 자신의 Pull Request는 스스로 merge 합니다.
- main: 제품으로 출시될 수 있는 브랜치
- develop: 다음 출시 버전을 개발하는 브랜치
- feature: 기능을 개발하는 브랜치
- release: 이번 출시 버전을 준비하는 브랜치
- bugfix: 다음 출시 버전에서 찾아낸 버그를 수정 하는 브랜치
- hotfix: 출시 버전에서 발생한 버그를 수정 하는 브랜치
- main: main 브랜치는 직접 push가 불가능하며
release브랜치의 PR을 통해서만 merge가 가능합니다. ( squash merge ) - develop: develop 브랜치는 직접 push가 불가능하며
feature,bugfix브랜치의 PR을 통해서만 merge가 가능합니다. ( rebase merge ) More
hotfix, feature 브랜치에서 develop 브랜치로 PR을 생성합니다.
- PR은 최소 1명 이상의 리뷰어를 지정합니다.
- PR은 최소 1명 이상의 리뷰어의 approve가 있어야 merge가 됩니다.
release브랜치를 생성합니다. (release/Version-Number)release브랜치에서develop브랜치의 버전에 맞는 commit들을 cherry-pick 합니다.release브랜치에서 버전에 맞는 테스트를 진행합니다.release브랜치에서main브랜치로 PR을 생성합니다.