How to do branch-based development

How to do branch-based development

In this how-to I will show you how branch-based development is done for a small real-world application, starting from scratch.

Software development is an inherently iterative process. Each iteration changes the code to make a software system do something new, improve something it already did or remove functionality that’s no longer needed. This is true for all kinds of software, from short shell scripts to codebases that have more than a million lines of code.

Branch-based development is a way of working that fits the iterative development process perfectly. Each branch starts a new iteration, each merge ends an iteration. As simple and elegant this concept sounds in theory, it unfortunately is often overcomplicated or misused in practice.

In this how-to I will show you how branch-based development is done for a small real-world application, starting from scratch.

Which branching workflow to pick?

You probably heard about different branch-based development workflows before. The most popular workflows in use today are:

If you want to get to the bottom of it, Martin Fowler wrote a very comprehensive article (Patterns for Managing Source Code Branches) that compares and evaluates these branching workflows.

In this how-to I will use a workflow that looks very similar to GitHub flow. GitHub flow is popularised by the GitHub fork-model of open-source development but it is certainly not limited to open-source projects. GitHub flow is one of the simplest and safest strategies that I’ve seen working successfully for codebases ranging from solo side-projects to systems developed by industry teams.

github branching software-development programming git

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Offshore Software Development - Best Practices

To make the most out of the benefits of offshore software development, you should understand the crucial factors that affect offshore development.

5 Core Criteria for Selecting Software Development Company - TopDevelopers.co

Check out these five criteria for the selection of your software vendor, and you will never regret having the wrong quality product made for you.

Software Developer vs Software Engineer — Differences: Bogus or Real?

In this article, see if there are any differences between software developers and software engineers. What you’re about to read mostly revolves around my personal thoughts, deductions, and offbeat imagination. If you have different sentiments, add them in the comment section, and let’s dispute! So, today’s topic…

Wrestling Betting Software Development | WWE Betting Software Developers

Wrestling betting software development solutions from expert Wrestling betting app and software development company delivers ultimate betting experience. Chat with us.

Developer Career Path: To Become a Team Lead or Stay a Developer?

For a developer, becoming a team leader can be a trap or open up opportunities for creating software. Two years ago, when I was a developer, ... by Oleg Sklyarov, Fullstack Developer at Skyeng company