Skip to main content
RapidDev - Software Development Agency
weweb-tutorial

WeWeb Version Control: Git Sync and Collaboration Workflows

WeWeb offers GitHub sync (Essential+ plan) for automated version control and daily auto-backups (Essential) or hourly auto-backups (Pro). Set up GitHub sync via App Settings → Git Integration to push compiled code to your repo on every publish. Manual backups are available on all plans. Restore from any backup in App Settings → Backups. True branching support is planned for Q3-Q4 2026 — not yet available.

What you'll learn

  • How to connect your WeWeb project to a GitHub repository via App Settings → Git Integration
  • The difference between WeWeb's auto-backup tiers (daily on Essential, hourly on Pro) and how to restore
  • How to set up a CI/CD pipeline that automatically deploys when WeWeb pushes to GitHub
  • How to manage team collaboration workflows on the Pro plan with multiple editor seats
  • What the publish workflow looks like end-to-end and how backups fit into the development cycle
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Intermediate12 min read20-30 minWeWeb Essential plan and above for GitHub sync and daily backups; Pro plan for hourly backupsMarch 2026RapidDev Engineering Team
TL;DR

WeWeb offers GitHub sync (Essential+ plan) for automated version control and daily auto-backups (Essential) or hourly auto-backups (Pro). Set up GitHub sync via App Settings → Git Integration to push compiled code to your repo on every publish. Manual backups are available on all plans. Restore from any backup in App Settings → Backups. True branching support is planned for Q3-Q4 2026 — not yet available.

WeWeb Version Control: GitHub Sync, Backups, and Team Workflows

WeWeb's version control story has two parts: GitHub sync (for CI/CD and code portability) and the built-in backup system (for project recovery). GitHub sync pushes your compiled Vue.js code to a GitHub repository every time you publish — enabling full CI/CD pipelines with Vercel, Netlify, or Cloudflare Pages auto-deployments. The backup system stores snapshots of your project configuration at regular intervals, allowing you to restore to any previous state if something breaks. This tutorial covers the complete setup: connecting GitHub, configuring CI/CD, understanding backup tiers, restoring from backups, and structuring team workflows when multiple developers work in WeWeb simultaneously.

Prerequisites

  • WeWeb account on Essential plan or above (required for GitHub sync and daily backups)
  • A GitHub account with permission to create repositories
  • Optional: Vercel, Netlify, or Cloudflare Pages account for CI/CD auto-deployment
  • Pro plan required if you need multiple editor seats for team collaboration

Step-by-step guide

1

Connect your WeWeb project to a GitHub repository

GitHub sync is configured per project. In the WeWeb editor, click the gear icon in the left navigation bar to open App Settings → scroll to find the Git Integration section (or look for a GitHub integration option). Click Connect to GitHub. A GitHub OAuth dialog opens — authorize WeWeb to access your GitHub account. Choose whether to give WeWeb access to all repositories or only specific ones (specific is safer). Back in WeWeb, you will be prompted to either connect to an existing repository or create a new one. For a new project, click Create new repository → name it → select your GitHub organization or personal account → click Create. WeWeb will push your current project state to the new repository immediately. The repo is created on GitHub with your compiled WeWeb code.

Expected result: Your WeWeb project is connected to a GitHub repository. The repository appears in your GitHub account with WeWeb project files already pushed.

2

Understand how GitHub sync works with the publish workflow

GitHub sync is tied to the WeWeb publish action — not to every save or auto-save in the editor. When you click Publish (top-right button) in the editor, two things happen in sequence: (1) WeWeb builds your app and deploys it to WeWeb Cloud hosting (if you have a hosting plan), and (2) WeWeb pushes the compiled code to your connected GitHub repository. This means GitHub always contains the last published version of your app, not necessarily the most recent changes you made in the editor. The branch that receives pushes is your repository's default branch (typically main). WeWeb never creates feature branches automatically — it always pushes to the default branch. Note: true Git branching within WeWeb (creating WeWeb editor branches) is on the roadmap for Q3-Q4 2026 but is not yet available.

Expected result: After clicking Publish in the editor, your GitHub repository's main branch receives a new commit with the latest compiled app code.

3

Set up automated CI/CD deployment with GitHub Actions and Vercel

With GitHub sync active, you can wire up a hosting platform to auto-deploy whenever WeWeb pushes. The most common setup is Vercel connected to your GitHub repository. In Vercel (vercel.com): click Add New → Project → Import Git Repository → select your WeWeb repository. Vercel auto-detects it as a static site. Set the output directory to the folder containing your index.html (typically the root or a built/ subdirectory — check your repository structure). Add a vercel.json file with the SPA rewrite rule in your repository root. Click Deploy. Now every time you Publish in WeWeb, GitHub receives the new code, which triggers Vercel to build and deploy automatically. The full cycle from clicking Publish to your live site updating takes approximately 2-3 minutes.

typescript
1// vercel.json — add to the root of your WeWeb GitHub repository
2// This configures SPA routing so all client-side routes work on Vercel
3{
4 "rewrites": [
5 {
6 "source": "/(.*)",
7 "destination": "/index.html"
8 }
9 ]
10}
11
12// Optional: GitHub Actions workflow for custom deployment logic
13// .github/workflows/deploy.yml
14name: Deploy WeWeb App
15on:
16 push:
17 branches: [main]
18jobs:
19 deploy:
20 runs-on: ubuntu-latest
21 steps:
22 - name: Trigger Vercel deployment
23 run: |
24 curl -X POST "${{ secrets.VERCEL_DEPLOY_HOOK_URL }}"

Expected result: Publishing in WeWeb triggers an automatic Vercel deployment within 2-3 minutes, visible in your Vercel project dashboard.

4

Create and manage manual project backups

Backups in WeWeb capture a complete snapshot of your project configuration — all pages, components, workflows, variables, data sources, and settings — but NOT your live database data. To create a manual backup: open App Settings → Backups. Click Create Backup. WeWeb creates a timestamped snapshot immediately. Name it descriptively (e.g., 'Before adding payment flow', 'Stable version March 2026') — the name helps you identify what state the backup represents. Manual backup limits: Pro plan users get unlimited manual backups. Essential plan users have a limited number of manual backup slots (check your current plan limits in the Backups page). Creating a manual backup before attempting complex changes or major refactors is a critical habit for all WeWeb developers.

Expected result: A timestamped manual backup appears in App Settings → Backups with your chosen name, ready to restore if needed.

5

Understand auto-backup frequency per plan

WeWeb automatically creates backups at regular intervals based on your seat plan, without any action required from you. On the Free plan: auto-backups may not be available or are limited. On the Essential plan: daily auto-backups are created automatically. WeWeb retains a rolling window of recent daily backups. On the Pro plan: hourly auto-backups are created automatically, giving you much finer recovery granularity — if something breaks, you can roll back to 1 hour ago rather than 24 hours ago. Navigate to App Settings → Backups to see all auto-backups listed chronologically alongside your manual backups. Auto-backups are labeled with their timestamp and type (auto). They function identically to manual backups for restore purposes.

Expected result: App Settings → Backups shows a list of auto-backups with timestamps, created at the frequency matching your plan (daily for Essential, hourly for Pro).

6

Restore your project from a backup

If you publish a breaking change or make a mistake that is difficult to undo, you can restore your project to any backup state. Navigate to App Settings → Backups. You will see a list of all backups (manual and auto) sorted by date. Click on the backup you want to restore to — verify the timestamp matches the state you want to return to. Click Restore. WeWeb will ask you to confirm, as restoring overwrites your current project state. Click Confirm Restore. The restoration process takes 30-60 seconds. After restoration, your project is in the exact state it was in at backup time — all pages, workflows, variables, and settings revert. Note: restoration does NOT revert any database changes (Supabase/Xano data) — only WeWeb project configuration.

Expected result: Your WeWeb project reverts to the backup state. The editor shows the pages, layouts, and workflows from that point in time.

7

Structure team workflows with multiple editor seats (Pro plan)

WeWeb Pro allows multiple users to edit the same project with individual accounts. Each team member needs a Pro seat. To invite team members: go to Workspace Settings → Team → Invite Member → enter their email. They receive an invitation to join your workspace. Once accepted, they appear in your team list. Important: WeWeb does not currently support simultaneous real-time collaborative editing in the same project at the same time (like Figma). Two developers editing the same project simultaneously may overwrite each other's changes. The recommended team workflow is: (1) Assign ownership of specific pages or sections to specific team members. (2) Communicate before editing — use Slack/Teams to announce when you are working on a project. (3) Publish and create a manual backup before handing off work. (4) The developer taking over pulls the latest state by refreshing the editor.

Expected result: Multiple team members can access and edit the project with their own accounts, with a coordination workflow to prevent conflicting changes.

8

Monitor the After Deploy Hook for deployment notifications

WeWeb has a built-in After Deploy Hook that sends an HTTP GET request to a URL you specify after every successful deployment. This is useful for triggering downstream actions: invalidating CDN caches, sending a Slack notification to your team, triggering a Lighthouse audit, or updating a deployment log. To configure it: App Settings → After Deploy Hook → enter the URL that should receive the GET request. WeWeb sends GET requests with query parameters including: type (deploy type), version (deployment version number), name (project name), env (environment: production or staging), built-zip (URL to the compiled built zip), and raw-zip (URL to the raw project zip). Use a Zapier or n8n webhook as the hook URL to trigger any downstream automation.

typescript
1// Example: n8n webhook node to receive WeWeb After Deploy Hook
2// WeWeb sends: GET https://your-hook-url?type=...&version=...&name=...&env=...&built-zip=...&raw-zip=...
3
4// Example Node.js Express endpoint to receive and process the hook
5// Deploy this to Vercel Functions or Supabase Edge Functions
6export default function handler(req, res) {
7 const { type, version, name, env, 'built-zip': builtZip } = req.query;
8
9 console.log(`WeWeb deployed: ${name} v${version} to ${env}`);
10
11 // Trigger Slack notification
12 fetch('https://hooks.slack.com/services/YOUR_WEBHOOK', {
13 method: 'POST',
14 headers: { 'Content-Type': 'application/json' },
15 body: JSON.stringify({
16 text: `WeWeb app deployed: ${name} v${version} (${env})`
17 })
18 });
19
20 res.status(200).json({ received: true });
21}

Expected result: After each WeWeb publish, your configured webhook URL receives a GET request with deployment metadata, triggering your downstream automation.

Complete working example

weweb-cicd-setup.md
1# WeWeb CI/CD Setup Guide
2
3## Complete deployment pipeline:
4## WeWeb Editor Publish GitHub Push Host Auto-Deploy
5
6## Step 1: vercel.json in repository root
7```json
8{
9 "rewrites": [
10 { "source": "/(.*)", "destination": "/index.html" }
11 ]
12}
13```
14
15## Step 2: Netlify _redirects file in repository root
16```
17/* /index.html 200
18```
19
20## Step 3: Cloudflare Pages settings
21# Framework preset: None (static)
22# Build command: (empty WeWeb pre-builds)
23# Build output directory: / (root)
24# Cloudflare handles SPA routing automatically
25
26## Step 4: GitHub Actions for additional automation
27# .github/workflows/post-deploy.yml
28```yaml
29name: Post-Deploy Tasks
30on:
31 push:
32 branches: [main]
33jobs:
34 notify:
35 runs-on: ubuntu-latest
36 steps:
37 - name: Send Slack notification
38 uses: 8398a7/action-slack@v3
39 with:
40 status: success
41 text: 'WeWeb app deployed to production'
42 env:
43 SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
44 - name: Run Lighthouse CI
45 uses: treosh/lighthouse-ci-action@v10
46 with:
47 urls: https://your-app-domain.com
48 uploadArtifacts: true
49```
50
51## Backup Naming Convention
52| Format | Example |
53|---------------------|----------------------------------|
54| Before [feature] | Before adding Stripe checkout |
55| Stable [date] | Stable 2026-03-30 |
56| Handoff [dev] [date]| Handoff Dan 2026-03-30 |
57| Pre-refactor [area] | Pre-refactor navigation system |
58
59## Team Workflow Protocol
601. Check in Slack before starting editor session
612. Create manual backup before major changes
623. Publish and name backup when finishing session
634. Notify team when session is done (backup name = handoff marker)

Common mistakes

Why it's a problem: Expecting GitHub sync to push every editor save, not just publishes

How to avoid: GitHub sync only triggers when you click Publish (top-right button in the editor). Editor auto-saves and manual saves do not push to GitHub. Changes you make in the editor only appear in the GitHub repository after you explicitly publish.

Why it's a problem: Two developers editing the same WeWeb project at the same time and overwriting each other's work

How to avoid: WeWeb does not support real-time simultaneous editing. Establish a team protocol: use a messaging channel to announce editor sessions, create a named backup before each session, and communicate before starting work. Only one developer should edit at a time.

Why it's a problem: Restoring from a backup expecting database data to revert

How to avoid: WeWeb backups only capture your project configuration (pages, workflows, components, variables, settings). They do NOT include database data in Supabase, Xano, or any other backend. Database rollbacks must be done separately in your backend platform.

Why it's a problem: Creating a GitHub repository that already has an existing project and expecting WeWeb to read its code

How to avoid: WeWeb GitHub sync is write-only — WeWeb pushes compiled code TO GitHub. It cannot import or sync FROM an existing codebase. Always start with an empty repository or let WeWeb create the repository for you.

Best practices

  • Create a named manual backup before every significant feature addition or refactor — name it 'Before [feature]' for easy identification
  • Publish in WeWeb immediately before making a major change — this ensures GitHub and your hosting platform have a known-good version to roll back to
  • Use the After Deploy Hook to send deployment notifications to your team Slack channel — no one should be surprised by a production change
  • Upgrade to Pro plan if your development pace requires hourly recovery granularity — daily backups on Essential can mean losing up to 24 hours of work
  • Store the vercel.json or _redirects file in your GitHub repository root — WeWeb will not overwrite files it did not create, so it persists across all future publishes
  • Document your team's editing protocol in a shared doc — who edits when, how to create backups before handoff, how to communicate editor sessions
  • Monitor your GitHub repository's commit history as a deployment log — each commit represents one WeWeb publish and is timestamped with the deployment time

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I want to set up automatic deployment for my WeWeb project. Every time I publish in WeWeb, I want the latest code to automatically deploy to Vercel. I have GitHub sync connected. What configuration files do I need in my GitHub repository, and how do I connect Vercel to auto-deploy when WeWeb pushes new code?

WeWeb Prompt

In my WeWeb project I accidentally published a breaking change that removed several pages. I need to roll back to yesterday's version. I have an Essential plan so I have daily auto-backups. How do I find and restore from a backup in WeWeb? Will restoring the backup also undo the publish, or do I need to publish again after restoring?

Frequently asked questions

Does WeWeb support Git branching so different developers can work on separate features simultaneously?

Not yet. WeWeb always pushes to your repository's default branch (main) and does not currently support creating WeWeb editor branches for parallel feature development. True branching within the WeWeb editor is on the roadmap for Q3-Q4 2026. Until then, teams must coordinate sequential editing sessions and use the backup system as version checkpoints.

Can I restore a WeWeb backup without losing my current work?

Backup restoration overwrites your current project state — there is no partial restore or diff merge. Before restoring, create a manual backup of your current state first. This gives you two restore points: the current state (in case the restore does not fix the problem) and the backup you are restoring to.

What files does WeWeb push to GitHub — is it the full source code or compiled files?

WeWeb pushes the compiled, production-ready static files — the same output as the code export zip. It is not editable Vue.js source code in the way a developer would write. The repository contains the built HTML, CSS, and JavaScript bundles ready for immediate deployment to any static host.

How long does WeWeb keep auto-backup history?

WeWeb retains a rolling window of recent auto-backups. The exact retention period varies by plan — check App Settings → Backups for the actual backups available on your account. Pro plan users with hourly backups typically have more backup history available. Manual backups you create yourself are kept until you delete them manually.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.