GitHub Flow – implementation and overview
22nd January 2024| Katarzyna Radecka
While talking about software development, choosing the proper workflow and branching strategy is crucial for the project’s success. After all, we all want stable environments where changes can be applied quickly and deployed on time. Over time, multiple branching strategies were developed, each of them with its own pros and cons. Today we will have a closer look at GitHub flow and why and when it can be appropriate for your team.
Following the Git Flow, which offered us clear branching strategy and workflow, the simpler version was developed, called GitHub Flow. GitHub Flow simplifies the concept of repository, getting rid of develop branch, and focusing only on main branch. Instead of implementing new changes on develop to merge them later to main, we create feature branches directly from main branch and pull request them also directly to main.
Why would we want that? Isn’t it dangerous, to commit all our changes instantly to main branch? Don’t we create the risk to destabilise the release environment?
Such doubts are completely reasonable and it is absolutely ok to have them, so let’s firstly define, when GitHub Flow will only bring you profits with minimal risks.
If you can follow those requirements,
the GitHub Flow is just for you! But why would you want to choose and follow this flow? Well, if your project requires continuous deployment or you’re working on SaaS project, it is just the simplest approach you can follow.
Main pros of GitHub flow include:
Convenience: you have to maintain only one main branch, even if you need to apply quick fix to production, you don’t have to worry about cherry-picking hotfixes, you can follow basically the same strategy as for any other fix:
o Create hotfix branch based on last release tag,
o Fix the bug
o Deploy the fix to production
o Merge hotfix branch to main to integrate it with the rest of new code
Speed: you will never consume any time again to think “Where should I create hotfix branch” or “Is it bugfix or a feature”, you don’t have to differentiate between develop and main anymore, because there is simply no develop. All the work you do will always just be the same steps: new branch -> coding -> pull request.
We hope our short overview of the GitHub Flow was at least a little helpful for you, and we can assure – it makes life easier. Believe us, we know!
If this is of interest and you would like to explore further then please contact info@anyaconsultancy.com
For more information on ACS, technology and domain expertise, please visit our website at www.anyaconsultancy.com
About Anya Consultancy Services
ACS is a global SI headquartered in the UK with offices On-shore in England and Scotland, Near-shore in Romania and Portugal and Off-shore in India.
We started in 2010 as an integration specialist, working with big enterprises to integrate ERP, Manufacturing, Warehouse and e-Commerce solutions.
Since that time, we have widened our portfolio via a mix of organic growth and acquisitions to encompass a Hi-tech engineering capability, our successful IT services business and a growing portfolio of SaaS solutions from in store radio station management through to Digital catering solutions feeding ‘000s of NHS patients every day.