gon push

Push local module/theme changes back to individual GitHub repositories. Uses SHA256 checksums to detect changes since last push.

Usage

gon push # Show changed modules (status)
gon push Cart # Push specific module
gon push Cart -m "feat: add coupons" # With commit message
gon push Cart --tag=v2.0 # Commit + tag
gon push --all -m "fix: validation" # Push all changed
gon push --theme mysite # Push frontend theme
gon push --theme polygon --theme-type=admin # Push admin theme
gon push --all --dry-run # Preview without pushing

Options

OptionDescription
-m, --messageCommit message
-t, --tagCreate git tag after push
--themePush specific theme instead of module
--theme-typeTheme type: frontend (default) or admin
--allPush all changed modules and themes
--dry-runShow changes without pushing
-f, --forceSkip confirmation prompt

How it works

  1. Generates baseline checksums on first push
  2. Detects changed files (added, modified, deleted) via SHA256 diff
  3. Clones target repository to temp directory
  4. Syncs files while preserving .git
  5. Creates commit with your message
  6. Pushes to origin/main
  7. Creates tag if --tag specified
  8. Updates local checksums