Skip to content

devsync push

Mirror local files into the sync repository.

Terminal window
devsync push

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 truthpush 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.

FlagDescription
--dry-runPreview what would be written without actually making any changes.
--profile NAMEOverride the active profile for this single run. Does not persist to settings.json.
--verboseShow per-entry and per-file detail during the operation.
Terminal window
# Push all tracked files to the sync repository
devsync push
Terminal window
# 1. Edit your config as usual
vim ~/.zshrc
# 2. Check what changed
devsync status
# 3. Push local changes to the sync repository
devsync push
# 4. Commit and push with git
devsync cd
# (now inside ~/.config/devsync/sync/)
git add -A
git commit -m "update zshrc"
git push
exit