Liquid Tutorial

CLI + Git Workflow

Source: ShopifyDevs

Professional Theme Development Workflow

Pair Git version control with Shopify CLI for team collaboration, code review, and safe deployments. Each environment (dev, staging, production) maps to a different Shopify theme on the same or different stores.

BASH
# ── Initial setup ──
git init
git add .
git commit -m "Initial theme scaffold"
git remote add origin git@github.com:your-org/your-theme.git
git push -u origin main

# ── Daily development ──
git checkout -b feature/hero-section
shopify theme dev --store dev-store.myshopify.com
# ... edit sections/hero-banner.liquid ...
git add sections/hero-banner.liquid
git commit -m "Add hero banner section with video support"
git push origin feature/hero-section
# Open PR for review

# ── Deploy to staging ──
git checkout main
git pull
shopify theme push \
  --store dev-store.myshopify.com \
  --unpublished \
  --theme "Staging"

# ── Deploy to production (after QA sign-off) ──
shopify theme push \
  --store production-store.myshopify.com \
  --theme PROD_THEME_ID

git tag v1.2.0
git push origin v1.2.0
  • main branch → production theme (protected, PR-only merges)
  • develop branch → staging theme on dev store
  • Feature branches → shopify theme dev ephemeral themes
  • Tag releases matching shopify theme push deploys
  • GitHub Actions can run theme check on every PR
Tip: Store THEME_IDs in environment variables or a deploy config — never hardcode production IDs in package.json scripts committed to public repos.