Deploy what changed.
Nothing else.

RemoteSync reads your Git repository, lists exactly the files that changed, and uploads only those to your server or cloud folder. You see every upload and every delete before it happens.

Watch it in action Coming soon to the Mac App Store
  • macOS 14 Sonoma or later
  • Git built in
  • €5, one-time purchase
Every row says what will happen and why. Untick what should wait.

How it works

From commit to server
in four steps.

No more dragging folders into an FTP client and hoping you caught every changed file.

  1. Add a repository

    Choose its folder (⌘O). A folder inside a repository becomes the deploy folder, so one repository can hold several sites.

  2. Connect a destination

    A server, a cloud folder or a folder on your Mac. Test Connection checks it before anything is sent.

  3. Choose what to deploy

    Your uncommitted edits, one commit, everything since the last deploy, or the difference between any two commits.

  4. Review and deploy

    Check the plan, untick rows, look at a diff, then Deploy (⌘↩). Errors are reported per file.

Four modes

You choose
exactly what goes up.

Every mode builds the same reviewable plan. The commit modes upload the committed content, whatever is on your disk.

Working Copy

Uncommitted edits and new files, straight from disk. A file you edit after reviewing the plan is not uploaded: refresh and review again.

Single Commit

The files one commit changed, with that commit’s content. Search the history by message, author, hash, branch or tag.

Since Last Deploy

Everything between the last fully deployed commit and HEAD. The marker only moves after a complete, successful deploy.

Compare Commits

The net difference between any two commits, uploaded with the content of the newer one.

Since Last Deploy, with a Git LFS video that will be uploaded with its real content.
Pick any commit; the plan shows only its files.

Review, then deploy

Know what will happen
before it happens.

Recording: the plan is filtered to uploads and deletions, Deploy asks to confirm one delete, ten files upload one by one, Deployment Complete
Filter the plan, confirm the delete, watch each file go up. Real recording, made-up project.

See the change before it ships

Double-click a row, or press Space, to open its diff. Step through every file in the plan with the arrows, and untick one right there with “Deploy this file”.

Progress you can follow

Each row moves from Queued to Transferring to Uploaded. A deploy can be cancelled at any time.

An activity log for every run

Every upload and delete with its time and result. Copy it into a bug report: it never contains passwords or tokens.

  • Each file is written to a temporary name and renamed into place, where the protocol allows it
  • Errors are reported per file; the rest of the deploy carries on
  • Files already uploaded with the same content show as “On server” and stay unticked
  • Exclude a file, a folder or a file type from the row’s context menu

Deploy safety

Built so a deploy
can’t surprise you.

Deletes are off by default

Allow them per project. Then every deploy that deletes lists the files and asks first — Cancel is the default button.

Exclude rules in gitignore syntax

Secrets and tooling never leave your Mac: .env, .DS_Store, node_modules/ and editor folders are excluded from the start.

  • Blocked rows stop the whole deploy: paths with “..”, symlinks pointing outside the repository, LFS content that can’t be obtained
  • The last deployed commit moves only when every row was selected and succeeded
  • SFTP host keys are shown and must be trusted once; a changed key stops the connection
  • An FTPS certificate that doesn’t match can be trusted exactly — that key and nothing else

Destinations

Your server, your cloud,
or a folder.

Shared hosting with nothing but FTP or SFTP is exactly what RemoteSync was made for. It only puts, renames and deletes files: it never runs commands on your server.

Servers

SFTP with password or SSH key (Ed25519 or RSA, encrypted keys too) · FTPS with explicit TLS · FTP · SMB file shares, also one already mounted in Finder

Cloud

Google Drive: My Drive and shared drives · Dropbox · iCloud Drive. Sign in in your browser, then pick or create the folder.

This Mac

Any local folder or mounted volume — for example a local web server’s document root.

Many sites on one hosting account? Copy the connection from another project.
Turn off the destinations you never use.

Git, built in

Nothing else to install.

Git, Git LFS, SSH and TLS are inside the app. You don’t need Xcode, the Command Line Tools, Homebrew, git or git-lfs.

Git LFS, done right

Files stored in Git LFS are deployed with their real content — never the pointer — in every mode. Size and SHA-256 are checked before the upload.

Branches and worktrees

Deploy any branch without checking it out, switch the working tree like git switch, or point the project at another worktree.

  • Private LFS repositories on GitHub: sign in with GitHub in your browser
  • Other hosts: a user name and access token per LFS server
  • Your global git settings don’t change what is deployed; the repository’s own do
  • Several sites in one repository: each project deploys its own folder
A native Mac app: light and dark mode, Increase Contrast, keyboard shortcuts.

Privacy

Your code goes where you send it.

Sandboxed

RemoteSync runs in Apple’s App Sandbox. Repositories are opened read-only; it writes only to target folders you choose.

Keychain

Passwords, key passphrases and sign-ins are kept in your Keychain, never in a project file.

No tracking

No analytics, no crash reporting, no account. Files go only to the destinations you configure.

Everything in it

All features

What RemoteSync does today, by area.

Projects

Any number of repositories in a sidebar · a folder inside a repository as the deploy folder · folder mapping to differently named remote folders · plain folders without Git, watched for changes · copy a connection from another project · access survives moved and renamed folders

The plan

Upload, Delete from server, Excluded, Deletion disabled and Blocked rows, each with its reason · filters for uploads, deletions and skipped files · tick and untick, select all · exclude a file, folder or file type from the context menu · diff window with arrows through the plan, whole-file view and Ignore whitespace

Deploy modes

Working Copy · Single Commit · Since Last Deploy · Compare Commits · deploy from any local or remote-tracking branch · Mark HEAD as Deployed

Deploying

Temporary name, then rename into place · up to 4 parallel FTP connections · per-file errors and Cancel · per-row status · upload history per server · Deploy Again from the context menu · activity log you can copy

Safety

Deletes off by default, confirmed with the file list · gitignore-style exclude rules with safe defaults · blocked paths and symlinks · edited-after-review protection · SFTP host-key trust · FTPS certificate pinning

Git

Built-in Git (libgit2) and Git LFS · LFS content from the repository, its cache or the LFS server, verified by SHA-256 · GitHub sign-in in the browser · branches, Check Out Branch, worktrees

Destinations

SFTP · FTPS · FTP · SMB · Google Drive and shared drives · Dropbox · iCloud Drive · local folders and mounted volumes · turn destinations on or off in Settings

Mac

App Sandbox · Keychain · light and dark mode, Increase Contrast · keyboard shortcuts (⌘O, ⌘R, ⌘↩) · macOS 14 Sonoma or later

Availability

Coming soon to the Mac App Store.

RemoteSync is finishing its last checks before release.

€5 one-time purchase, all features

Requires macOS 14 Sonoma or later.

Watch the demo

Questions

Frequently asked

When can I get it?

RemoteSync is coming to the Mac App Store soon. There is no release date yet; this page will link to the store as soon as it is there.

Is it a subscription?

No. The planned price is €5, a one-time purchase through the Mac App Store.

Do I need git, Xcode or Homebrew?

No. Git, Git LFS, SSH and TLS are built into the app. Nothing else needs to be installed.

Does it change my repository?

No. Repositories are opened read-only; planning and deploying never touch the index or create lock files. Only Check Out Branch writes to the working tree, and it asks for that permission separately the first time.

Does it run anything on my server?

No. It uploads, renames and deletes files, and creates folders. That is all it needs, which is why it works on shared hosting without shell access.

What happens to files I deleted?

Nothing, unless you allow deletes for that project. Then each deploy that deletes lists the files and asks before it removes anything. On Google Drive, Dropbox and iCloud Drive deleted files can be restored from the service’s trash.

Why does it ask me to choose folders?

RemoteSync runs in Apple’s App Sandbox, so it only sees the folders you grant it with the standard Open dialog. The choice is remembered, and follows the folder if you move or rename it.

Is my data sent anywhere?

Only to the destinations you configure, and LFS requests to your repository’s LFS server. RemoteSync has no analytics, no crash reporting and no account with us.

See it deploy.

A 21-second recording of a real deploy: the plan, the delete confirmation, every file going up, and the activity log.

Watch it in action

RemoteSync demo