Git

by Vinzent, (Denis Olehov)
5
4
3
2
1
Score: 88/100

Description

Category: Coding & Technical Tools

The Obsidian Git Plugin plugin brings day to day Git work into a vault so you can track changes, commit updates and sync with a remote repo without leaving the editor. It can run automatic commit, pull and push on a schedule, pull on startup and handle submodules for more complex desktop setups. The plugin adds a source control view for staging files, committing and checking diffs, plus a history view for browsing commits and changed files. It also shows added, modified and deleted lines in the editor and lets you work with branches, remotes and .gitignore entries. GitHub links for file view and file history are built in too.

Reviews

No reviews yet.

Stats

11702
stars
2,915,674
downloads
609
forks
2,105
days
2
days
30
days
184
total PRs
16
open PRs
47
closed PRs
121
merged PRs
812
total issues
112
open issues
700
closed issues
121
commits

RequirementsExperimental

  • Git installed and configured on the local machine

  • A GitHub, GitLab or other Git remote repository for syncing

Latest Version

a month ago

Changelog

See the changelog for details.

README file from

Github

Obsidian Git Plugin

A powerful community plugin for Obsidian.md that brings Git integration right into your vault. Automatically commit, pull, push, and see your changes — all within Obsidian.

📚 Documentation

All setup instructions (including mobile), common issues, tips, and advanced configuration can be found in the 📖 full documentation.

Mobile users: The plugin is highly unstable ⚠️ ! Please check the dedicated Mobile section below.

Key Features

  • 🔁 Automatic commit-and-sync (commit, pull, and push) on a schedule.
  • 📥 Auto-pull on Obsidian startup
  • 📂 Submodule support for managing multiple repositories (desktop only and opt-in)
  • 🔧 Source Control View to stage/unstage, commit and diff files - Open it with the Open source control view command.
  • 📜 History View for browsing commit logs and changed files - Open it with the Open history view command.
  • 🔍 Diff View for viewing changes in a file - Open it with the Open diff view command.
  • 📝 Signs in the editor to indicate added, modified, and deleted lines/hunks (desktop only).
  • GitHub integration to open files and history in your browser

For detailed file history, consider pairing this plugin with the Version History Diff plugin.

UI Previews

🔧 Source Control View

Manage your file changes directly inside Obsidian like stage/unstage individual files and commit them.

Source Control View

📜 History View

Show the commit history of your repository. The commit message, author, date, and changed files can be shown. Author and date are disabled by default as shown in the screenshot, but can be enabled in the settings.

History View

🔍 Diff View

Compare versions with a clear and concise diff viewer. Open it from the source control view or via the Open diff view command.

Diff View

📝 Signs in the Editor

View line-by-line changes directly in the editor with added, modified, and deleted line/hunk indicators. You can stage and reset changes right from the signs. There also commands to navigate between hunks and stage/reset hunks under the cursor. Needs to be enabled in the plugin settings.

Signs

Available Commands

Not exhaustive - these are just some of the most common commands. For a full list, see the Command Palette in Obsidian.

  • 🔄 Changes
    • List changed files: Lists all changes in a modal
    • Open diff view: Open diff view for the current file
    • Stage current file
    • Unstage current file
    • Discard all changes: Discard all changes in the repository
  • ✅ Commit
    • Commit: If files are staged only commits those, otherwise commits only files that have been staged
    • Commit with specific message: Same as above, but with a custom message
    • Commit all changes: Commits all changes without pushing
    • Commit all changes with specific message: Same as above, but with a custom message
  • 🔀 Commit-and-sync
    • Commit-and-sync: With default settings, this will commit all changes, pull, and push
    • Commit-and-sync with specific message: Same as above, but with a custom message
    • Commit-and-sync and close: Same as Commit-and-sync, but if running on desktop, will close the Obsidian window. Will not exit Obsidian app on mobile.
  • 🌐 Remote
    • Push, Pull
    • Edit remotes: Add new remotes or edit existing remotes
    • Remove remote
    • Clone an existing remote repo: Opens dialog that will prompt for URL and authentication to clone a remote repo
    • Open file on GitHub: Open the file view of the current file on GitHub in a browser window. Note: only works on desktop
    • Open file history on GitHub: Open the file history of the current file on GitHub in a browser window. Note: only works on desktop
  • 🏠 Manage local repository
    • Initialize a new repo
    • Create new branch
    • Delete branch
    • CAUTION: Delete repository
  • 🧪 Miscellaneous
    • Open source control view: Opens side pane displaying Source control view
    • Open history view: Opens side pane displaying History view
    • Edit .gitignore
    • Add file to .gitignore: Add current file to .gitignore

💻 Desktop Notes

🔐 Authentication

Some Git services may require further setup for HTTPS/SSH authentication. Refer to the Authentication Guide

Obsidian on Linux

  • ⚠️ Snap is not supported due to its sandboxing restrictions.
  • ⚠️ Flatpak is not recommended, because it doesn't have access to all system files. They are actively fixing many issues, but there are still issues. Especially with more advanced setups.
  • ✅ Please use AppImage or a full access installation of your system's package manager instead (Linux installation guide)

📱 Mobile Support (⚠️ Experimental)

The Git implementation on mobile is very unstable! I would not recommend using this plugin on mobile, but try other syncing services.

One such alternative is GitSync, which is available on both Android and iOS. It is not associated with this plugin, but it may be a better option for mobile users. A tutorial for setting it up can be found here.

🧪 The Git plugin works on mobile thanks to isomorphic-git, a JavaScript-based re-implementation of Git - but it comes with serious limitations and issues. It is not possible for an Obsidian plugin to use a native Git installation on Android or iOS.

❌ Mobile Feature Limitations

  • No SSH authentication (isomorphic-git issue)
  • Limited repo size, because of memory restrictions
  • No rebase merge strategy
  • No submodules support

⚠️ Performance Caveats

[!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.

Tips for Mobile Use:

If you have a large repo/vault I recommend to stage individual files and only commit staged files.

🙋 Contact & Credits

  • The Line Authoring feature was developed by GollyTicker, so any questions may be best answered by her.
  • This plugin was initial developed by denolehov. Since March 2021, it's me Vinzent03 who is developing this plugin. That's why the GitHub repository got moved to my account in July 2024.
  • If you have any kind of feedback or questions, feel free to reach out via GitHub issues.

☕ Support

If you find this plugin useful and would like to support its development, you can support me on Ko-fi.

ko-fi

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Cicada Synchronizer
2 years ago by Adapole, Adapole, Mahyar Mirrashed
Edit History
3 years ago by Antonio Tejada
Obsidian Edit History Plugin, automatically save all the edit history of a note, browse and restore previous versions
Emo
4 years ago by yaleiyale
Use image/file hosting in Obsidian by clipboard or draging file. Obsidian 图床聚合 & Github上传器
Enveloppe
4 years ago by Mara-Li
Enveloppe helps you to publish your notes on a GitHub repository from your Obsidian Vault, for free!
File Diff
3 years ago by Till Friebe
View the difference between two files within Obsidian.
Fit
2 years ago by joshuakto
File gIT (FIT) to sync your files across mobile and desktop devices using GitHub.
GH Links Shortener
9 months ago by David Barnett
Obsidian plugin to set shortened link text for pasted GitHub URLs
Gist
5 years ago by Jun Lin
📒 Gist View for Obsidian(https://obsidian.md)
Gistr
2 years ago by Aetherinox
Obsidian.md plugin which allows you to use your notes to embed, create, and update gists for Github and Opengist. Light & dark theme support, create / update public & private gists either manually or with autosave.
Git Changelog
a year ago by shumadrid
An Obsidian plugin that displays changelogs of the entire vault and individual files in the sidebar by utilizing Git commit history
Git File Explorer
3 years ago by Mateus Molina
Git Integration
2 years ago by noradroid
Obsidian plugin to add git integration
Git Url
3 years ago by khuongduy354
GitHobs
3 years ago by GabAlpha and MarcoG
Use Obsidian as Github issue editor! A simple plugin to create Github issues directly from Obsidian with logic taken from Git
Github Copilot
2 years ago by Vasseur Pierre-Adrien
A bridge between Obsidian and Github Copilot
GitHub Embeds
3 years ago by Gino Valente
Embed GitHub issues, PRs, and code snippets directly in Obsidian
GitHub Gitless Sync
a year ago by Silvano Cerza
Sync a GitHub repository with vaults on different platforms without requiring git installation
GitHub Integration
a year ago by Kirill Zhuravlev
Plugin that fetch your github stars into notes
GitHub Issue Augmentation
3 years ago by samprintz
Github Issues
a year ago by LonoxX
An Obsidian plugin that integrates with GitHub to track issues and pull requests directly in your vault.
GitHub Link
2 years ago by Nathonius
GitHub Stars
a year ago by Flying Nobita
Obsidian plugin that displays GitHub star ⭐ counts next to repository links in your notes, in Reading View, Live Preview, and embedded markdown.
GitHub Sync
2 years ago by Kevin Chin
Sync Obsidian vault to personal GitHub
GitHub Tasks
a year ago by Mike Thicke
Obsidian plugin to sync GitHub issues and PRs to Obsidian TODOs
Import GitHub Readme
2 years ago by Chasebank87
Note Sync
a year ago by ZigHolding
NotePix
a year ago by Ayush Parkara
Automatically upload Obsidian images to GitHub (public/private) and replace them with fast hosted links. Encrypted, cross-platform.
Open in GitHub
a year ago by Muurphy Chen
This is an Obsidian plugin designed to open project or files directly in GitHub via your browser.
Publish and GitHub URL
5 years ago by kometenstaub
Copy or open the Obsidian Publish URL of a note. You can also open its Git commit history on GitHub.
Save as Gist
4 years ago by ghedamat
Share as Gist
4 years ago by timrogers
An Obsidian (https://obsidian.md/) plugin for sharing your notes as a GitHub gist - either privately or publicly.
Show Diff
3 years ago by Ivan Lednev
Render Git diffs in Obsidian files
TimeDiff plugin
4 years ago by Grzegorz Dominiczak
Obsidian plugin which calculates and displays diff in hours and minutes between two dates in `timediff` markdown block
Vault to blog
2 years ago by barkstone2
Automation tool of making react SPA blog by obsidian vault.
Vim Multibyte Char Search
4 years ago by anselmwang
Search multibyte characters by the corresponding input method encoding. For example, for Chinese, search "用来" by "yl"