Updating a theme when a new update arrives

Hi everyone,

I’m using a Ghost theme and have made quite a few custom changes to it over time.

A new version of the theme has now been released, and I’d like to update to it so I can benefit from the new features and fixes — but I don’t want to lose my existing customizations.

For example, I’ve changed the newsletter signup to use Ghost Portal, and I’ve changed the “Become a member” buttons to link to my /membership/ page. I’ve made several other small code changes as well.

My main problem is that manually checking and re-applying all these changes every time the theme is updated is time-consuming, and I’m worried I’ll eventually forget something. I do have notes documenting my changes, but I’d really like a more reliable way of managing this.

Ideally, I’d like a simple process where I can:

  • Keep my customized version of the theme.
  • Download the new official version when it’s released.
  • Compare the two versions and see exactly what has changed, including changes within existing files.
  • Apply the new updates while keeping my own customizations.
  • Repeat this entire process easily whenever a new version is released.

I’m not a developer, so I’m looking for something easy, and straightforward.

What would be the best approach for someone with limited coding/IT experience? Is there a recommended free tool or workflow for keeping a customized Ghost theme up to date without losing custom changes?

Thanks in advance!

3 Likes

I think the “normal” dev way of doing this is to use Git.

  • fork the the Ghost Theme git repo on github
  • “git clone” your fork locally
  • add the upstream (fork source) "git remote add upstream $github-fork-source-url
  • Add your changes - do one commit per change.
  • fetch upstream changes: git fetch upstream
  • rebase on the upstream changes: git rebase upstream/main

Maybe there is also some (Web)GUI for this somewhere. Probably you will have some issues on rebase if your changes conflict with upstream changes.

Probably AI chat can guid you through all the issues that arise.