34 lines
2.1 KiB
Markdown
34 lines
2.1 KiB
Markdown
|
---
|
|||
|
title: >
|
|||
|
Do you need to branch if you're the only one working on a project?
|
|||
|
pubDate: 2022-11-23
|
|||
|
permalink: >-
|
|||
|
archive/2022/11/23/do-you-need-to-branch
|
|||
|
tags:
|
|||
|
- git
|
|||
|
---
|
|||
|
|
|||
|
Yesterday, I [saw a tweet](https://twitter.com/scottkeckwarren/status/1594752744165847040) 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”.
|
|||
|
|
|||
|
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?".
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
[I used to use Git Flow](https://www.oliverdavies.uk/talks/git-flow) 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.
|
|||
|
|
|||
|
In a team environment, feature branches are intended to keep different changes and different people's work separate.
|
|||
|
|
|||
|
But is this needed if you’re the only in the team?
|
|||
|
|
|||
|
Assumingly, you're only working on one change at a time, so what's the benefit of creating a separate branch?
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
The other part of the tweet said, “I like the little integrations to make sure the tests pass”.
|
|||
|
|
|||
|
I’m comfortable working on a single branch and committing and pushing small changes often.
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
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.
|