---
title: 'Git Flow vs GitHub Flow: What You Need to Know'
source: 'https://youtube.com/watch?v=hG_P6IRAjNQ'
video_id: 'hG_P6IRAjNQ'
date: 2026-08-02
duration_sec: 375
---

# Git Flow vs GitHub Flow: What You Need to Know

> Source: [Git Flow vs GitHub Flow: What You Need to Know](https://youtube.com/watch?v=hG_P6IRAjNQ)

## Summary

This video explains the fundamental concepts of Git and its two primary branching strategies: Git Flow and GitHub Flow. It covers the basics of Git, branches, and popular hosting services, then walks through the typical development lifecycle for each strategy, highlighting their differences and use cases.

### Key Points

- **Introduction to Git** [00:00] — Git is a source control system that has been around since 2005 and is the predominant choice. It is useful even for solo projects and essential for team collaboration.
- **How Git branches work** [00:28] — Git works on branches. The master branch contains deployable, working code. Developers branch off copies to make changes, then merge them back into master once verified.
- **Popular Git hosting services** [01:06] — GitHub is the most popular cloud-based service, but Bitbucket and GitLab are alternatives. GitLab can be self-hosted. GitHub allows public and private repositories.
- **Two main branching strategies** [01:52] — The two main branching strategies are Git Flow and GitHub Flow. Git Flow is more complex with multiple branches, while GitHub Flow is simpler and relies on continuous delivery.
- **Git Flow: main and develop branches** [02:16] — Git Flow uses a main branch (deployable code) and a develop branch (copy of production). Features branch off develop, and hotfixes branch off main.
- **Git Flow: hotfixes and releases** [02:45] — Hotfixes are created from main to fix production issues, then merged back into develop and main. Release branches are created from develop for versioning, then merged into main and develop.
- **GitHub Flow: simple branching** [04:27] — GitHub Flow has only a main branch. Features branch directly off main, get reviewed via pull requests, and are merged back into main, which is then deployed immediately.
- **GitHub Flow: reliance on automation** [05:15] — GitHub Flow relies heavily on automated testing to ensure main is always production-ready. It is used by fast-paced companies that release frequently.

### Conclusion

The video concludes that both Git Flow and GitHub Flow are valid strategies, and the choice depends on the team's needs, such as release frequency and testing capabilities.

## Transcript

chances are you're not using source control or you're not using it properly. and the various branching strategies that you need to use. So what is Git?
Gits been around since 2005 and is the predominant source control system Even if you're developing a project entirely on your own, It's also a lot easier to write code when you know
Now Git works on branches. This is where all your code is going to sit that is deployable and working.
Then you branch off copies off the master branch to allow you to make changes. of the master branch and make changes on their own machines. it's working,
And then it can get merged into the master branch. that you merge any changes before it gets merged in.
If you're going to be working with other developers, Now, the most popular cloud based service is GitHub, which I'm sure you've heard of, but there are also others such as Bitbucket and GitLab.
which means that you can install it on your own server. then let me know in the comments and I'll do a video about it. So GitHub allows you to have both public and private repositories
private projects as well as work on open source ones with the community. and if you spent any time in software development, Now if you're working on code, especially in a team then there's various
branching strategies that you can use in git the main two are Git Flow and GitHub Flow. but you don't have to be using GitHub to be able to use this strategy.
Now let's have a look at both of them. and we're going to go through a typical development lifecycle to see how each of them are used.
This is the branch that has all of your deployable code in it. It should be a working copy of your code, and it should match what's in production. Now the develop branch is a copy of what is currently in production, but
Now whenever we work on a feature, we're going to branch off the develop branch This lets you have a complete copy of what everyone is working on
Now let's say while you're working on the main branch, there's a production issue and you suddenly need to do a hotfix. Now this takes a copy of what's currently in production, allows you
Now what you have to do is merge hotfix back into the develop branch so that other developers have the fix in the code that they're working on. when you come to release your code.
So this would make up version 0.2 of your application. you then need to merge the code that's now in develop And then you can carry on working on your feature.
Once your feature is ready, you create a pull request which then gets Now when all of the developers are done with what they're working on Once the release has been created, developers can carry on working on
the develop branch by branching off and creating work for the next sprint. who is testing the release on another server? So generally you will do a fix on the release branch.
out, you'll merge that release into your main branch. This release also needs to get merged back into develop so all the developers This of course then gets merged into any features
that you're developing before your feature then gets merged back into develop. especially those working with Scrum especially good
that are going to be going out at different times and you need to carry on doing work while another release is being tested. flow named off the GitHub as it's the one they use internally.
GitHub flow doesn't have a release branch like you do with the Git flow. Now they have the main branch or master branch, which is their working deployable code, which is in production. Now, whenever they develop a feature,
they branch directly off of main into a feature branch, and each developer Now this then gets reviewed and merged back into main Once your feature is merged, back into main is going to be deployed
if you're using continuous delivery or at least as soon as possible. Now to be able to use GitHub flow, it relies heavily on automated testing so that you can be sure that whatever goes into main is ready for production.
GitHub flow is used to a lot of fast paced companies that need to release quickly. So generally with GitHub flow, because every feature goes into production, But I've not seen GitHub flow be used for things
and need to make sure there's no bugs in that code before they go to production. These are two main Git strategies that you'll see at companies, If you use any of these Git
If there's any others that you think I should just cover, let me know. Git flows. You use, you can pitch, which you'll pick which everyone suits you best. git flow.
Uh la la la, bugs in my code.
