- git flow, github flow, gitlab flow 특징
- Git Flow
- Git Flow는 Vincent Driessen이 개발한 Git 기반의 브랜치 관리 전략으로, 큰 규모의 프로젝트에서 주로 사용됩니다.
- Git Flow에서는 5개의 브랜치(develop, feature, release, hotfix, master)를 사용합니다.
- 기능 개발(feature)은 별도의 브랜치(feature-*)에서 이루어지며, 개발이 완료된 브랜치는 develop 브랜치에 병합(merge)됩니다.
- 배포 준비를 위한 브랜치(release)와 긴급한 수정을 위한 브랜치(hotfix)도 별도로 존재합니다.
- GitHub Flow
- GitHub Flow는 GitHub에서 사용하는 브랜치 관리 전략으로, 빠른 배포를 지향하는 작은 규모의 프로젝트에서 주로 사용됩니다.
- GitHub Flow에서는 2개의 브랜치(master, feature)를 사용합니다.
- 기능 개발(feature)은 별도의 브랜치(feature-*)에서 이루어지며, 개발이 완료된 브랜치는 master 브랜치에 병합됩니다.
- 배포는 master 브랜치에 직접 반영됩니다.
- GitLab Flow
- GitLab Flow는 GitLab에서 사용하는 브랜치 관리 전략으로, GitHub Flow를 기반으로 개발된 전략입니다.
- GitLab Flow에서는 3개의 브랜치(master, develop, feature)를 사용합니다.
- 기능 개발(feature)은 별도의 브랜치(feature-*)에서 이루어지며, 개발이 완료된 브랜치는 develop 브랜치에 병합됩니다.
- 배포는 master 브랜치에 직접 반영됩니다.
이러한 Git Flow, GitHub Flow, GitLab Flow는
각각의 프로젝트 특성에 맞게 적절한 전략을 선택하여 사용해야 합니다.
큰 규모의 프로젝트에서는 Git Flow,
작은 규모의 프로젝트에서는
GitHub Flow나 GitLab Flow를 사용하는 것이 적합할 수 있습니다.