joshuakto51k downloadsMinimalist File gIT (FIT) to sync your files across mobile and desktop devices using GitHub.
Sync your files across mobile and desktop devices with one click.
This project is a community collaboration. If you'd like to contribute please check out the Discussions section on GitHub to suggest or discuss ideas.
Note: This plugin is still in beta, please backup your vault before using this plugin.
repo scope covers this (though it grants broader access than strictly needed).NOTE: For security, it's recommended to limit the token scope to only the necessary repository for your vault and avoid sharing your entire plugin settings file that contains this token.
✅ Synced files:
❌ NOT synced (protected paths):
.obsidian/ folder (Obsidian settings and plugins)_fit/ folder (conflict resolution area).gitignore, .env (not currently supported - see #92 for planned opt-in support)When the same file is modified both locally and remotely, FIT:
_fit/path/to/file.md_fit/ version is overwritten with the latest remote version (sync doesn't fail)See Common Issues below for detailed conflict resolution steps.
related issue: #190
On Obsidian mobile, linking sync to a hotkey which requires the presence of a keyboard is not an ideal approach to manually trigger sync. A more intuitive set of procedures are:
Alternative: "Fit Sync" can be pinned to the ribbon menu from "Setting > Appearance > Interface > Ribbon menu configuration"
The FIT maintainers make every effort to protect your security and protect against data loss. However, mistakes can happen. Users are highly recommended to do a security review of the code of this project before trusting it with their data. You could use an AI tool for that such as Claude Code.
You should also take care with security tokens you use to ensure they don't leak, because anyone with access to those can read and write your vault repository even if it's private (or worse if you configure broad unrestricted permissions on your token). In particular, avoid syncing your .obsidian/ files with other tools if you don't know what you're doing, and consider adding .gitignore rules to ignore .obsidian/ paths if you'll be syncing anything using git (FIT itself never syncs .obsidian/ - see How Sync Works).
Why: Git (and GitHub) doesn't track empty directories. This is a fundamental limitation of Git, not a FIT bug.
Solution: Add a placeholder file like _gitkeep or README.md to keep the folder. Empty folders will only sync once they contain files.
Why: GitHub API has file size limits (~100MB hard limit, issues with files >10MB).
Symptoms: Error messages like "input too large to process" or "File 'X' is too large..."
Solutions:
What happens: When the same file is modified locally AND on GitHub, FIT saves both versions:
_fit/path/to/file.mdHow to resolve:
_fit/ folder_fit/ version when donePrevention: Sync regularly (enable auto-sync) and avoid editing the same file on multiple devices simultaneously.
Symptoms: Binary files (JPG, PNG, PDF) appear as gibberish text in GitHub like ����JFIF��... instead of displaying properly
Cause: Bug in v1.4.0-beta.3 where binary files were incorrectly read as text on some platforms
Solution:
Note: This only affected beta versions. Images and PDFs sync correctly in v1.4+.
More info: See https://github.com/joshuakto/fit/issues/156 about the regression and older "correct format" error.
See CONTRIBUTING.md for current milestone and long-term priorities.
There are other community plugins with more advanced git features, if you need features such as branching of your repo, Git is a nice plugin to check out.
There are also other plugins for synchronizing changes such as Git integration, GitHub sync, and YAOS. However, they do not support mobile yet as of writing this plugin.
For developers interested in contributing to FIT or understanding its architecture, comprehensive documentation is available in the docs/ directory in GitHub.