---
title: Optimise for revertability
date: 2024-05-10
permalink: daily/2024/05/10/optimise-for-revertability
tags:
    - software-development
    - git
cta: ~
snippet: |
    If you needed to revert a commit in a codebase, could you do so easily?
---

There are two things I avoid when merging changes in Git.

Merge commits and squashing commits.

Both make it hard to revert changes if needed once they've been merged, such as a major bug in production and you quickly need to roll back.

Merge commits are difficult to revert and if a commit has been squashed into one larger commit, you can't revert it without also reverting everything else.

Working with small, unsquashed commits makes it simple to revert a specific one and only that one.

If I need to revert something, I want to be able to do as simply and specifically as possible.

Optimise for revertability.