GitHub Flow
- Branch Structure:
main+ feature branches
- Principle: Create feature branch directly from main → PR → Review → Merge
- Characteristics: Simple, suitable for continuous deployment (CI/CD)
- Use Cases: SaaS and startups where fast deployment is critical
GitLab Flow
- Branch Structure:
main+feature/*+ optionalenv/*(e.g.staging,production)
- Principle: Feature branches merge into
main, then promoted to environment branches
- Characteristics: Integrates issue tracking and CI/CD deployment stages
- Use Cases: DevOps teams using GitLab with environment-based deployments
Rebase Flow
- Branch Structure: Similar to GitHub Flow (
main+ feature)
- Principle: Linearize commits on main using
rebaseinstead of merge
- Characteristics: Maintains clean commit history, strict conflict management
- Use Cases: OSS or research projects where commit history is important
Gitflow
- Branch Structure:
main,develop,feature,release,hotfix
- Principle: Development on
develop, deployment tomain
- Characteristics: Complex but stable, release-centric
- Use Cases: Enterprise projects with clear release cycles
Forking Workflow
- Branch Structure: Individual forked repos per developer + upstream main
- Principle: Work in personal repo, then reflect to upstream via PR
- Characteristics: Essential for external Open Source Contribution
- Use Cases: GitHub OSS, managing external contributions
The problem with Git flow
Sometimes, you can have too much of a good thing. That's certainly true with Git flow, a well-known software development workflow that offers several options but can bog down users. We developed GitLab Flow as the solution to eliminate messy complexity and streamline the development process.
https://about.gitlab.com/blog/2020/03/05/what-is-gitlab-flow/?utm_campaign=Newsletter&utm_medium=email&_hsmi=90924200&_hsenc=p2ANqtz-9Bfy16Bktyd4xCOYuT7epSK761SNzKWm-BqchlgKIoK5ZCXVJ4whk1S0jJ8NkgvvgVRTceCeYLqDHSv-Dg9B-_R3OD9w&utm_content=90924200&utm_source=hs_email

A Git Workflow Using Rebase
by Chris Belyea Git can be tricky to use, especially in a team setting where stale branches and merge conflicts tend to cause problems when you least have time for them. I've seen many teams turn their repository into a tangled mess as they struggle with Git.
https://medium.com/singlestone/a-git-workflow-using-rebase-1b1210de83e5

What Is a Git Fork? | Atlassian Git Tutorial
A breakdown of the Git Forking Workflow. Learn how git fork can help teammates and collaborators work better together.
https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow
토스ㅣSLASH 22 - iOS앱을 매주 배포 한다고?
개선되거나 새로운 제품을 유저가 가장 빠르게 사용할 수 있도록, 앱 배포를 매주하는 개발자의 시간을 아껴주는 자동화 방법을 소개합니다. 김준모 / 토스 iOS Developer발표 자료👉🏻 https://bit.ly/3NQfZNS토스 개발자 컨퍼런스 SLASH에 대한 자세한 정...
https://youtu.be/GhcJ-KDFLrU

Gitflow Workflow | Atlassian Git Tutorial
A deep dive into the Gitflow Workflow. Learn if this Git workflow is right for you and your team with this comprehensive tutorial.
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Seonglae Cho