Using Sync.md with Obsidian Git on iOS
How to set up real Git-backed vault syncing on your iPhone using Sync.md and the Obsidian Git community plugin — no Obsidian Sync subscription, no iCloud conflicts, no compromises.
- In Sync.md, set the default save location to Obsidian's iOS file system
- Clone your vault's Git repo into that directory
- Install the Obsidian Git community plugin
- Set your GitHub username, author name, and author email
- Done — pull, commit, and push from Obsidian
The problem
If you use Obsidian on your desktop with the Obsidian Git plugin, you already have a great workflow: your vault is a Git repo, every edit is version-controlled, and your notes push to GitHub automatically.
Then you open Obsidian on your iPhone and realize — there's no Git on iOS. The mobile app doesn't ship with git, and the Obsidian Git plugin can't clone or push on its own without a real .git directory already in place.
That's what Sync.md solves. It uses libgit2 to perform real Git operations natively on iOS — clone, pull, commit, push — and writes an actual .git directory to the filesystem. Once that directory exists inside Obsidian's file system, the Obsidian Git plugin picks it up and everything just works.
What you'll need
- Sync.md installed on your iPhone (App Store)
- Obsidian installed on your iPhone (App Store)
- A GitHub account with a repository containing your Obsidian vault
If you haven't pushed your vault to GitHub yet, you can do that from your desktop first — just git init inside your vault folder, commit everything, and push to a new repo.
Step-by-step setup
Sign in to Sync.md
Open Sync.md and sign in with your GitHub account. You can use OAuth (tap "Sign in with GitHub") or paste a Personal Access Token — either works.
Set the save location to Obsidian's filesystem
This is the key step. During onboarding (or later in App Settings), Sync.md asks you where to save cloned repos. Tap "Choose Location" and navigate to:
On My iPhone → ObsidianThis is the root of Obsidian's iOS file system. By cloning directly into this directory, your repo will appear as an Obsidian vault automatically.
On iOS, each app has its own sandboxed directory in the Files app. When Sync.md clones a repo into Obsidian's directory, it creates a real folder with a real .git directory inside it — exactly what Obsidian Git needs to function. Obsidian sees the folder as a vault, and the plugin sees the .git directory and treats it as a working repository.
Clone your vault repo
Back in Sync.md, tap "Add Repository" and browse your GitHub repos. Find your Obsidian vault repo and tap to add it, then hit "Clone Repository".
Sync.md will clone the full repo — including the .git directory with your complete commit history — straight into Obsidian's file system.
Open the vault in Obsidian
Open Obsidian on your iPhone. If this is your first time, you'll see the vault picker. Your cloned repo should appear as an available vault — tap it to open.
If you already have other vaults, tap "Open folder as vault" and select the cloned repo from Obsidian's file system.
You should see all your notes, just like on your desktop.
Install the Obsidian Git plugin
Inside Obsidian, go to Settings → Community Plugins → Browse and search for "Obsidian Git". Install it and enable it.
If you already have the Obsidian Git plugin configured in your vault on your desktop, its settings file (.obsidian/plugins/obsidian-git/data.json) may already be in the repo. In that case, the plugin will be installed automatically when Obsidian opens the vault — you just need to enable it.
Configure Obsidian Git
Open the Obsidian Git plugin settings (Settings → Obsidian Git) and fill in three fields:
CodyBontecou)Cody Bontecou)cody@example.com)That's it. No tokens to paste, no SSH keys to generate, no authentication configuration. The plugin uses the existing .git directory and remote configuration that Sync.md already set up when it cloned the repo.
That's it — it just works
Once those three fields are set, Obsidian Git can pull, commit, and push your vault. You can use the command palette (swipe down) and run commands like:
- Obsidian Git: Pull — fetch the latest changes from GitHub
- Obsidian Git: Commit all changes — stage and commit your edits
- Obsidian Git: Push — push commits to GitHub
Or, if you've enabled auto-sync in the plugin settings, it will pull and push on a timer automatically. Edit a note on your phone, and it shows up on your desktop. Edit on your desktop, pull on your phone. Real Git, real version history, no sync conflicts.
You can also use Sync.md itself to pull and push at any time — tap the repo in Sync.md and use the Pull or Commit & Push buttons. Both apps work with the same .git directory, so they stay in sync with each other.
Why this works so well
Most iOS Git solutions use REST APIs or custom sync layers that don't leave a .git directory on disk. Sync.md is different — it's built on libgit2, the same C library that powers GitHub Desktop, and it creates real Git repositories on the iOS filesystem. That means:
- Full compatibility — any tool that reads
.gitdirectories works out of the box - Complete history — your entire commit log is on your device
- No middleman — your iPhone talks directly to GitHub, no third-party cloud in between
- No subscription — unlike Obsidian Sync ($8/mo), this is a one-time purchase + your existing GitHub account
Troubleshooting
Obsidian doesn't see the vault
Make sure you set Sync.md's save location to On My iPhone → Obsidian before cloning. If you cloned to the wrong location, you can remove the repo in Sync.md, update the save location in App Settings, and clone again.
Obsidian Git says "no git repository found"
This usually means the .git directory wasn't cloned properly. Open Sync.md, check that the repo shows as "Cloned" with a branch and commit SHA visible. If it looks right, try closing and reopening Obsidian.
Push fails from Obsidian Git
Obsidian Git on iOS relies on the credentials already configured in the .git/config remote URL. If the remote was set up via Sync.md with OAuth or a PAT, the credentials are embedded. Make sure your GitHub username in the plugin settings matches the one you signed in with in Sync.md.
Changes made in Obsidian don't appear in Sync.md
That's normal — both apps share the same filesystem. When you edit a file in Obsidian and then open Sync.md, it will detect the changes automatically. They're reading and writing the same files.
Recap
The whole setup takes about two minutes:
- Point Sync.md's save directory at Obsidian's iOS file system
- Clone your vault repo
- Set up Obsidian Git with your username, name, and email
No complex configuration, no SSH keys, no cloud middleman. Just real Git on your iPhone, working seamlessly with the app you already use for your notes.