denolehov / obsidian-git

Backup your Obsidian.md vault with git
MIT License
6.12k stars 251 forks source link
obsidian obsidian-md obsidian-plugin

Git

Plugin that allows you to back up your Obsidian.md vault to a remote Git repository (e.g. private repo on GitHub).

Requirements, installation steps (including setup for mobile), tips and tricks, common issues and more can be found in the documentation.

For mobile users see Mobile section below.

Highlighted Features

Source Control View

Source Control View

History View

History View

Available Commands

Desktop

Authentication

Authentication may require additional setup. See more in the Authentication documentation

Obsidian on Linux

Please use AppImage instead (Linux installation guide)

Mobile

The git implementation on mobile is very unstable!

Restrictions

I am using isomorphic-git, which is a re-implementation of Git in JavaScript, because you cannot use native Git on Android or iOS.

Performance on mobile

[!caution] Depending on your device and available free RAM, Obsidian may

  • crash on clone/pull
  • create buffer overflow errors
  • run indefinitely.

It's caused by the underlying git implementation on mobile, which is not efficient. I don't know how to fix this. If that's the case for you, I have to admit this plugin won't work for you. So commenting on any issue or creating a new one won't help. I am sorry.

Setup: iPad Pro M1 with a repo of 3000 files reduced from 10000 markdown files

The initial clone took 0m25s. After that, the most time consuming part is to check the whole working directory for file changes. On this setup, checking all files for changes to stage takes 03m40s. Other commands like pull, push and commit are very fast (1-5 seconds).

The fastest way to work on mobile if you have a large repo/vault is to stage individual files and only commit staged files.

Contact

The Line Authoring feature was developed by GollyTicker, so any questions may be best answered by him.

If you have any kind of feedback or questions, feel free to reach out via GitHub issues or @Vinadon on Obsidian Discord server.

This plugin was initial developed by denolehov. Since March 2021, it is Vinzent03 who is developing on this plugin.

If you want to support me (Vinzent03) you can support me on Ko-fi

ko-fi