Vincent Driessen가 만든 Git으로 브랜치를 나눠 개발하는 방식 중 하나입니다.
특징은 5종류의 브랜치를 이용하여 저장소를 운영하게 됩니다.
5종류의 브랜치는 아래와 같습니다.
- Master(main)
- Release
- Develop
- Feature
- Hotfix
1. Master
가장 먼저 master 브랜치는 실제 제품으로 출시되고 운영되는 브랜치를 의미합니다.
여러 개발자들이 만든 기능을 합치고 테스트를 거쳐 이상이 없는지 확인합니다.
2. Release
master 브랜치에 통합하기 전에 완성된 기능을 테스트 하는 브랜치를 의미합니다.
보통 제품으로 출시되기 전의 버전을 관리합니다.
3. Develop
여러 엔지니어들이 개발한 기능들을 통합해 놓은 브랜치를 의미합니다.
다음 버전을 대비하기 위한 브랜치로 사용됩니다.
4. Feature
특정 기능을 개발할 때 사용되는 브랜치를 의미합니다.
5. Hotfix
이미 배포된 브랜치(master)에서 버그가 발생했을 경우 수정하는 브랜치를 의미합니다.
기능 단위로 Feature를 쪼개 만들고
Feature에서 완성된 기능을 Develop에 병합
여러 개발자들이 만든 기능을 Develop에 병합후 Feature에서 삭제
개발이 완료된 Develop가 충족되면 develop브랜치에서 release 브랜치를 생성한다
release의 버전에 맞게 브랜치의 이름을 생성하여 QA진행
여기서 버그가 발생한다면 다시 “develop”에서 수정을 하고 이 과정을 반복 하여 버그가 없을때까지 진행
이렇게 “출시” 가능한 상태가 된다면 master에 병합하여 새로운 버전을 출시
그리고 develop에도 병합이 되어 “다음버전”을 준비할수있는 상태로 만듬
만약 여기서 master에서 버그가 발생했다면 hotfix 브랜치에 작업을 만들어 사용을 하고
해당 작업을 마스터와 develop에 결합을 진행해줌
내일은 해당 내용을 가지고 새롭게 프로젝트를만들어 이것저것 여러 상황을 가정하며 작업을 해볼예정이다.
'CS공부' 카테고리의 다른 글
우아한테크세미나 코드리뷰편을 보고 난 후 느낀점 (0) | 2022.05.06 |
---|---|
Git Flow 협업하기 (0) | 2022.04.29 |
가상 메소드 테이블(Virtual method table) (0) | 2022.04.24 |
Restful API 에서 Rest는 뭐의 줄임말일까? (0) | 2022.04.22 |
프레임워크와 라이브러리 차이점 (0) | 2022.04.17 |