devsync push
Mirror local files into the sync repository.
Synopsis
Section titled “Synopsis”devsync pushDescription
Section titled “Description”devsync push reads the current state of every tracked local file and updates the artifacts in the sync repository (~/.config/devsync/sync/) to match. Local files are always the source of truth — push only writes from local to the repository, never the other way.
For entries with mode: secret, the file content is encrypted with age before being written to the repository. The artifact is stored with a .devsync.secret extension so it is never accidentally committed in plaintext.
After pushing, the sync repository directory contains an up-to-date snapshot of your config. You can then use git commit and git push inside that directory (accessible via devsync cd) to ship the snapshot to a remote.
push does not create git commits automatically.
Options
Section titled “Options”| Flag | Description |
|---|---|
--dry-run | Preview what would be written without actually making any changes. |
--profile NAME | Override the active profile for this single run. Does not persist to settings.json. |
--verbose | Show per-entry and per-file detail during the operation. |
Examples
Section titled “Examples”# Push all tracked files to the sync repositorydevsync push# Preview what push would change without writingdevsync push --dry-run# Push only entries for the "work" profile (one-time override)devsync push --profile work# See every file written during pushdevsync push --verboseTypical workflow
Section titled “Typical workflow”# 1. Edit your config as usualvim ~/.zshrc
# 2. Check what changeddevsync status
# 3. Push local changes to the sync repositorydevsync push
# 4. Commit and push with gitdevsync cd# (now inside ~/.config/devsync/sync/)git add -Agit commit -m "update zshrc"git pushexit