Tushar14 downloadsSync your notes with a private GitHub repository on desktop and mobile.
An Obsidian plugin that syncs a vault through ordinary commits in a private GitHub repository, on desktop and mobile. There's no server and no local Git checkout. The plugin talks to the GitHub API directly. It was called GitHub Vault Sync before 0.4.1.
Limits:
.gitignore files aren't supported. Neither are two paths that differ only in letter case.In Obsidian, go to Settings → Community plugins → Browse, search for Gitless Vault Sync, then install and enable it. Or open obsidian://show-plugin?id=github-vault-sync to go straight to it. Obsidian keeps it up to date.
Or download main.js, manifest.json and styles.css from the latest release into .obsidian/plugins/github-vault-sync/ in your vault.
Create a private repository on GitHub, for example your-name/notes. It can't be empty, so tick Add a README file when you create it.
In Obsidian, go to Settings → Community plugins. Turn off any other sync plugin (Obsidian Git, Self-hosted LiveSync, Remotely Save). Then enable Gitless Vault Sync.
In Gitless Vault Sync's settings, enter the repository as your-name/notes and the branch (usually main).
Create a fine-grained personal access token. The Create token link in settings opens this form with the permissions filled in. Give it access to only your notes repository, with:
Paste the token into settings. Obsidian keeps it in its secret storage.
Click Connect, look over what the first sync will do, then click Start syncing.
Repeat this on each device. Don't copy the .git-vault-sync/ folder between devices.
If the vault already has a .git folder, it's left alone and never synced. Once connected, stop using Git in that folder.
Sync runs while Obsidian is open:
Sync now in settings or the command palette runs one immediately.
Successful syncs stay quiet. Being offline shows only in the status bar, and becomes a notice after 6 hours without a sync. A problem with the token or repository opens settings. Other problems show one notice that clears itself once sync recovers.
Conflicts. The conflict view shows a line diff of this device's version against GitHub's. You keep either one, keep both, or edit a combined version.
Changes that wait for review. Large deletions, and incoming changes to Obsidian settings and plugins, pause until you approve them.
What doesn't sync:
.git-vault-sync/).git, .trash and OS files such as .DS_Store.env, *.pem and *.key.gitignore at the vault rootapi.github.com for the repository, and downloads a commit's files in one go from codeload.github.com..obsidian, or whatever you've named it) after you approve the change..git-vault-sync/ inside the vault. Apart from the token, everything it stores is inside the vault.Requires Node 22 or newer and npm.
npm run setup # install dependencies
npm run check # typecheck, lint, test, build and check release metadata
npm run build # build the plugin into dist/github-vault-sync/
To try a build, copy dist/github-vault-sync/ into <vault>/.obsidian/plugins/ and reload Obsidian.
Maintainer notes, release steps and design rules are in AGENTS.md. Release notes are in docs/releases.
MIT. See LICENSE.