Sync Obsidian Across Devices with GitHub
Sync your Obsidian vault across Mac, Windows, and Linux using a private GitHub repository — free, open-source, and you control your data. No paid Obsidian Sync needed.
Your notes are yours. Using GitHub instead of a proprietary sync service means you own the infrastructure, every change is version-tracked, and it works on any device with Git. No subscription fees, no vendor lock-in.
Step 1 — Create a Private GitHub Repository
- Go to github.com/new
- Name it (e.g.,
my-obsidian-vault) - Set it to Private
- Click Create repository
Step 2 — Set Up Your First Device (Mac or Linux)
Install Git (if not already installed):
# Mac (with Homebrew)
brew install git
# Linux (Debian/Ubuntu)
sudo apt install git
Clone the repo:
cd ~
git clone https://github.com/YOUR-USERNAME/my-obsidian-vault.git
Open as Obsidian vault:
- Open Obsidian
- Click "Open folder as vault"
- Select the cloned folder
Step 3 — Install the Obsidian Git Plugin
- In Obsidian, go to Settings → Community plugins
- Turn off Restricted mode if prompted
- Click Browse → search for "Obsidian Git"
- Install it, then Enable it
Step 4 — Configure Auto-Sync
Go to Settings → Obsidian Git and set:
- Auto pull interval:
2minutes (or your preference) - Auto push interval:
2minutes - Pull on startup: ✅ enabled
- Push on startup: ✅ enabled
Step 5 — Set Up Your Second Device
Install Git:
- Windows: Download from git-scm.com and run the installer with defaults
- Linux:
sudo apt install git
Clone the repo (open terminal or Command Prompt):
git clone https://github.com/YOUR-USERNAME/my-obsidian-vault.git
Set your Git identity (first time only):
git config --global user.name "Your Name"
git config --global user.email "your-github-email@example.com"
Open in Obsidian → "Open folder as vault" → select the cloned folder.
Install the Obsidian Git plugin (same as Step 3).
Step 6 — Test the Sync
- Create a test note on Device A
- Wait for the auto-push interval (or use Command Palette → "Obsidian Git: Push")
- On Device B, wait for auto-pull (or manually pull)
- The note should appear
Gotchas & Tips
- Large files: Add
*.mp4,*.zip, and other large files to.gitignore— GitHub has a 100MB file limit and large files slow down sync - Merge conflicts: If you edit the same file on two devices simultaneously, you may get conflicts. The plugin handles most cases, but avoid editing the same note on two devices at the same time
- Authentication: If
git pushasks for credentials repeatedly, set up a Personal Access Token for smoother auth - .obsidian folder: This syncs your plugins and settings across devices too — that's a feature, not a bug
- Mobile: This method works on Android with Termux + Git, but iOS is trickier. Consider Obsidian's official sync for mobile if needed
What You've Built
Your Obsidian Vault
│
├── Private GitHub Repo (you control it)
│ └── Full version history of every edit
│
├── Device A (Mac / Linux / Windows)
│ └── Auto-sync every 2 minutes
│
└── Device B (any other machine)
└── Auto-sync every 2 minutes
A free, self-sovereign note sync system. Your notes live in a Git repo you control, changes sync automatically, full version history of every edit, works on any device that runs Obsidian + Git. No subscription fees, no vendor lock-in.