Skip to content

mise dotfiles pull ​

  • Usage: mise dotfiles pull [FLAGS]
  • Effect: destructive — may delete or irreversibly overwrite
  • Source code: src/cli/dotfiles/pull.rs

Write fetched changes from other machines to tracked files

Writes the changes that the last mise dot sync fetched from your other machines. (mise dot apply deploys your own [dotfiles] entries; pull writes what other machines pushed.) pull restores tracked paths, including tracked symlinks, but never deploys copy, symlink, or template entries: when a tracked file is the source of one, pull updates the source, and mise dot apply then writes the target your application reads. mise saves a checkpoint first, so mise dot undo reverses the whole pull, and runs the matching [history.reload] commands after writing.

A pull applies every incoming change together, including config files and the files they reference; it does not take paths. Nothing is written if an incoming config file does not parse, a file has unsaved local edits, your own checkout has staged Git changes, or a file changed on both sides. A file that changed on both sides is a conflict: compare the two versions with mise dot conflicts, then resolve it with --take-remote or --keep-local, or resolve every conflict with --take-remote-all or --keep-local-all. While any conflict remains, pushing and applying stop for all tracked files; local history and fetching continue.

In sync mode the watcher pulls on its own when there are no conflicts. When incoming config declares more tracked files, their versions from the origin are written in the same pull.

Flags ​

  • -n --dry-run — Show the plan without changing anything

  • -y --yes — Accepted for compatibility; pull skips the apply confirmation

  • --take-remote <PATH> — Resolve a conflict with the origin's version

  • --keep-local <PATH> — Resolve a conflict by keeping this machine's version; the next sync pushes it

  • --take-remote-all — Resolve every remaining conflict with the origin's version

    Paths named by --keep-local keep this machine's version; every other conflict takes the origin's. Use it on a newly connected machine, where each existing file that differs is a separate conflict.

  • --keep-local-all — Resolve every remaining conflict by keeping this machine's version

    Paths named by --take-remote take the origin's version; every other conflict keeps this machine's. Each kept path must already be saved.

  • -h --help — Print help

Examples ​

Show what would be written

mise dot pull --dry-run

Resolve a conflict with the origin's version

mise dot pull --take-remote ~/.zshrc

Resolve a conflict by keeping this machine's version

mise dot pull --keep-local ~/.zshrc

Take the origin's version of every conflict except one

mise dot pull --take-remote-all --keep-local ~/.zshrc
MIT LicenseCopyright © 2026jdx.dev