Knowledge base

Two-way sync with your GitHub repository

Changes you make to your site turn into commits in your own repository, and what you push there lands on your site. It is free, and here is what happens when both sides change at once.

Connect your own GitHub account to a site and we will keep the two in step in both directions. It is free, it is off until you switch it on, and we only ever commit into a repository on an account you own — never one of ours.

What gets synced

Anything you change in your site's files becomes a commit in your repository, however you changed it: the file manager, SFTP, the WordPress theme editor, or an SSH session. You do not have to tell us — we compare your site against its last commit and push the difference.

Going the other way, a push to your connected branch lands on the site.

What we never commit

Your wp-config.php is excluded, deliberately and permanently. It holds your database password and your authentication salts, and those do not belong in a repository — not even a private one, because git keeps history for ever.

Also excluded: .env files, keys and certificates, your uploads folder, caches and node_modules. A repository is your site's source, not a backup. Media belongs in your backups, where it is already kept, and putting it here would make every push slow and every change unreadable.

What happens if both sides changed

This is the question worth reading. Say you edit a file in the file manager, and meanwhile a colleague pushes a change to the same repository.

We stop. We do not merge, and we do not overwrite anybody. The site's Deploy tab shows "Your repository has changes we haven't seen", names the commit you need to look at, and waits for you. Nothing is lost on either side while it waits — your edit is still on the site, their commit is still in the repository.

You then choose:

  • Keep this site's files — we put your version on top of theirs. Their commits stay in
  • the history; nothing is erased.

  • Use the repository, discard site changes — the repository's version is applied to the
  • site, and the changes you had made here are discarded. This one is destructive, which is why it is a deliberate click and never something we do on your behalf.

There is no "merge automatically" option, on purpose. A merge performed by us would produce a file that neither of you wrote, on a live site, without either of you seeing it first.

Why syncing might stop

  • You have not connected your own GitHub account. The switch stays off until you do.
  • It is waiting for you. See above — a hold does not clear itself.
  • Your account is not in good standing. Syncing pauses and resumes on its own once
  • billing is up to date. Nothing is lost.

The Deploy tab shows the last few syncs, including the ones where nothing had changed. If that list is empty and sync is switched on, the connected account most likely cannot write to the repository — check its access and reconnect.

Choosing what syncs

By default the whole site syncs. On a WordPress site that is usually not what you want: it means every file of WordPress core, which you did not write and will not edit. Set "Sync only this folder" to your theme — for example wp-content/themes/my-theme — and the rest is left alone.

Latest from the blog

What we have been writing about hosting, SEO and running sites at scale.

SEO and Link Building from the Hosting Layer: A 2026 Operator's View

How hosting shapes indexing and link equity in 2026: keeping pages indexed, vetting aged domains before you build on them, link building without a footprint, and an honest line on what infrastructure can and cannot do for SEO.

Read the post →

Making WordPress Fast and Secure: A Performance and Plugin Checklist

A practical checklist for fast, secure WordPress: server-level caching, a per-site object cache, the handful of plugins worth running, keeping the stack current, and the WooCommerce pages you must never cache.

Read the post →

How to Choose Managed Web Hosting in 2026: A Buyer's Guide

What actually separates good managed hosting from a cheap box with a control panel — migrations, backups, isolation, real caching and honest scaling — and how to judge it before you commit.

Read the post →

Read the blog →

Still stuck?

Support is included on every plan, the desk is open 24 hours a day, and you can write to us in any of our 58 languages — we answer you in yours.

Contact support → All articles →