sync
Synchronize variables between environments with interactive conflict resolution.
The sync command provides a powerful way to synchronize secrets between environments, with full control over what gets added, updated, or removed.
Usage#
redenv syncOptions#
| Flag | Description |
|---|---|
-p, --project <name> | Project name |
Examples#
# Sync interactively
redenv sync
# Sync specific project
redenv sync --project my-appInteractive Flow#
$ redenv sync
? Select project: my-app
? Enter your Master Password: ********
? Select the SOURCE environment: production
? Select the DESTINATION environment: staging
⠋ Fetching and comparing environments...
✔ Environments compared.
Changes to sync from production to staging:
? The following keys will be ADDED to staging. Select which to apply:
◉ NEW_API_KEY="sk_live_..."
◉ FEATURE_FLAG="enabled"
? The following keys will be UPDATED in staging. Select which to apply:
◉ DATABASE_URL: postgres://old... ➤ postgres://new...
◯ DEBUG: "false" ➤ "true"
? The following keys will be REMOVED from staging. Select which to apply:
◯ OLD_SECRET="..."
? You are about to apply 3 change(s) to the staging environment. This can be destructive. Are you sure? Yes
⠋ Applying changes to staging...
✔ Successfully synced 3 change(s) to staging.Info
Sync requires at least two environments. If environments are already identical, you'll see "Environments are already in sync. Nothing to do."
Change Types#
You can selectively apply each type of change:
- Additions — Keys in source but not in destination
- Updates — Keys with different values (shows before → after)
- Removals — Keys in destination but not in source
Error
Sync can delete keys. Review removals carefully before confirming. This action is destructive and cannot be undone.
Sync vs Clone#
| Feature | sync | clone |
|---|---|---|
| Direction | Source → Destination | Source → Destination |
| Additions | ✔ Select which to add | ✔ Select which to add |
| Updates | ✔ Select which to update | ✘ Skips existing keys |
| Removals | ✔ Select which to remove | ✘ Never removes |
| Use case | Full environment alignment | Copy missing keys only |