브랜치 이름 | 설명 |
---|---|
Main (또는 Master) 브랜치 | 제품으로 출시될 수 있는 안정적인 상태를 반영합니다. 프로덕션에 배포될 수 있는 상태입니다. 사용자들이 다운로드하고 사용하는 버전은 이 브랜치에서 파생됩니다. |
Develop 브랜치 | 새로운 기능 개발과 버그 수정 등의 개발이 이루어지는 브랜치입니다. 개발자들은 이 브랜치에서 작업하며, 개발이 완료되면 Main 브랜치로 병합됩니다. |
Feature 브랜치 | 새로운 기능 추가를 위해 Develop 브랜치에서 파생된 브랜치입니다. 작업이 완료되면 Develop 브랜치로 병합됩니다. |
Release 브랜치 | 다음 버전의 출시를 준비하는 브랜치입니다. 기능 개발이 완료되고 버그 수정이 이루어진 후, 해당 버전을 출시하기 위해 Main 브랜치로 병합되며, 동시에 Develop 브랜치에도 병합됩니다. |
Hotfix 브랜치 | 긴급한 버그 수정을 위해 Main 브랜치에서 파생된 브랜치입니다. 수정이 완료되면 Main 브랜치와 Develop 브랜치 양쪽으로 병합됩니다. |
GitHub Flow는 소프트웨어 개발에서 사용되는 간단하면서도 효과적인 브랜치 관리 전략 중 하나입니다. Git과 GitHub를 기반으로 하며, 릴리즈 주기를 단축시키고 지속적인 배포를 지원하기 위해 만들어졌습니다. Vincent Driessen의 Git Flow와는 달리, GitHub Flow는 단일 브랜치만 사용하는 간단한 모델로 구성되어 있습니다.
GitHub Flow의 작업 흐름
참고 : https://blog.hwahae.co.kr/all/tech/9507 , https://hyeo-noo.tistory.com/393