Do you need to branch if you're the only one working on a project?
created:
- value:'2022-11-23T00:00:00+00:00'
changed:
- value:'2025-05-11T09:00:51+00:00'
promote:
- value:false
sticky:
- value:false
default_langcode:
- value:true
revision_translation_affected:
- value:true
path:
- alias:/daily/2022/11/23/do-you-need-to-branch
langcode:en
body:
- value:|
<p>Yesterday, I <a href="https://twitter.com/scottkeckwarren/status/1594752744165847040">saw a tweet</a> where the writer said they were “falling into the branch, pull request, and merge after actions pass I use at work even though I'm the only one working on it”.</p>
<p>After reading this, my question is, "Should you, or do you need to, create branches if you're the only person working on a project?".</p>
<p>These days, I use trunk-based development as much as possible, so I hardly ever create new branches, whether working on a project myself or with a team.</p>
<p><a href="/presentations/git-flow">I used to use Git Flow</a> and create branches for every new feature and bug fix, but I remember, whilst demonstrating two work-in-progress features to a client, switching between the different branches caused my local site to break. Whilst it wasn’t a major issue, it wouldn't have seemed professional.</p>
<p>In a team environment, feature branches are intended to keep different changes and different people's work separate.</p>
<p>But is this needed if you’re the only in the team?</p>
<p>Assumingly, you're only working on one change at a time, so what's the benefit of creating a separate branch?</p>
<p>If you need to switch to a different task, another approach could be to revert your work-in-progress commits, move them onto another local branch temporarily, or wrap them within a feature flag so that the changes are committed but not active.</p>
<p>The other part of the tweet said, “I like the little integrations to make sure the tests pass”.</p>
<p>I’m comfortable working on a single branch and committing and pushing small changes often.</p>
<p>My CI pipelines run for every change that I push, and if one fails, I’ll either push a small fix to get it passing again or revert the failing change and investigate further.</p>
<p>For me, working on a single branch keeps my workflow simple and lean, allowing me to focus on the changes and the tasks that I need to work on and not worry about which branch I’m working on.</p>
format:full_html
processed:|
<p>Yesterday, I <a href="https://twitter.com/scottkeckwarren/status/1594752744165847040">saw a tweet</a> where the writer said they were “falling into the branch, pull request, and merge after actions pass I use at work even though I'm the only one working on it”.</p>
<p>After reading this, my question is, "Should you, or do you need to, create branches if you're the only person working on a project?".</p>
<p>These days, I use trunk-based development as much as possible, so I hardly ever create new branches, whether working on a project myself or with a team.</p>
<p><a href="/presentations/git-flow">I used to use Git Flow</a> and create branches for every new feature and bug fix, but I remember, whilst demonstrating two work-in-progress features to a client, switching between the different branches caused my local site to break. Whilst it wasn’t a major issue, it wouldn't have seemed professional.</p>
<p>In a team environment, feature branches are intended to keep different changes and different people's work separate.</p>
<p>But is this needed if you’re the only in the team?</p>
<p>Assumingly, you're only working on one change at a time, so what's the benefit of creating a separate branch?</p>
<p>If you need to switch to a different task, another approach could be to revert your work-in-progress commits, move them onto another local branch temporarily, or wrap them within a feature flag so that the changes are committed but not active.</p>
<p>The other part of the tweet said, “I like the little integrations to make sure the tests pass”.</p>
<p>I’m comfortable working on a single branch and committing and pushing small changes often.</p>
<p>My CI pipelines run for every change that I push, and if one fails, I’ll either push a small fix to get it passing again or revert the failing change and investigate further.</p>
<p>For me, working on a single branch keeps my workflow simple and lean, allowing me to focus on the changes and the tasks that I need to work on and not worry about which branch I’m working on.</p>