この記事は、GitHub上のvaultをスマホから読み書きできるアプリ OB Lite の開発チームがお届けしています。スマホ側の同期に悩んでいる方は、先に 6章 を読むのが近道です。
obsidian-gitとは何ができるプラグインか
obsidian-gitは、Obsidianのvault(ノートのフォルダ)をgitリポジトリとして扱い、変更の記録(commit)・アップロード(push)・取り込み(pull)をObsidianの中から実行できる無料のコミュニティプラグインです。一定間隔での自動実行にも対応しているため、一度設定してしまえば「編集するだけで勝手にGitHubへバックアップされる」状態を作れます。
得られるものは3つ。①複数PC間の同期、②全ノートの変更履歴(いつでも過去の状態に戻せる)、③GitHubという堅牢な保管先への自動バックアップです。月額課金なしでこれが揃うのが、公式のObsidian Syncではなくgit同期を選ぶ人が多い理由です。
一方で正直に書くと、デスクトップでは安定して優秀ですが、スマホ(モバイル版Obsidian)では技術的な制約が大きく、別の作戦を取るほうが現実的です。詳しくは記事の後半で説明します。
事前準備:Git本体とGitHubリポジトリ
obsidian-gitはプラグイン単体では動きません。PCにGit本体がインストールされていることと、同期先のGitHubリポジトリが必要です。
Git本体のインストール(Windows)
- git-scm.com からインストーラーをダウンロードして実行
- 設定画面が10個ほど続くが、すべてデフォルトのまま「Next」でOK認証を助けるGit Credential Managerも一緒に入ります。
- インストール後、PCを再起動(PATHを確実に反映させるため)
Git本体のインストール(Mac)
- 「ターミナル」を開いて
git --versionと入力 - バージョンが表示されれば導入済み。「コマンドライン・デベロッパツール」のインストールを求められたら、そのままインストール
GitHubリポジトリについて
同期先のリポジトリがまだ無くても大丈夫です。この記事の3章「vaultとGitHubをつなぐ」に、プラグインだけで完結させる手順(ルートB)を用意しています。コマンドを使わずGUIで進めたい場合は、GitHub Desktopを使う 初心者向けの10分ガイド のSTEP 1〜2が一番やさしいルートです。どちらを選んでもこの後の手順に合流できます。
プラグインの導入と初期設定
プラグインを入れる
- Obsidianの設定 → コミュニティプラグインを開き、「制限モード」をオフにする初回は「コミュニティプラグインを有効化」の確認が出ます。そのまま有効化でOKです。
- 「閲覧」ボタンから「Git」を検索し、obsidian-git(一覧での表示名は「Git」)をインストールして有効化する
コミットに使う名前とメールアドレスを登録する
gitは「いつ・誰が変更したか」を毎回のコミットに記録します。この「誰が」が未登録だとコミットが失敗してエラーになるため、最初に1回だけ登録します。ここだけターミナルを使いますが、2行貼り付けるだけです。
ターミナルを開きます(Windows:スタートボタンを押して「cmd」と入力 → コマンドプロンプト/Mac:Launchpadで「ターミナル」を検索)。次の2行を、名前とメールを自分のものに置き換えて、1行ずつ貼り付けてEnterしてください。
git config --global user.name "好きな表示名" git config --global user.email "GitHubに登録したメールアドレス"
表示名はコミット履歴に載るだけなので、GitHubのユーザー名と一致していなくても構いません。メールアドレスを公開したくない場合は、GitHubの Settings → Emails に用意されている「〜@users.noreply.github.com」形式の専用アドレスが使えます。
vaultとGitHubをつなぐ
ここは、いまのvaultの状態によって2つのルートに分かれます。
ルートA|すでにリポジトリ化してある場合(GitHub Desktopで公開済みなど):何もしなくてOKです。プラグインが自動で認識します。画面右下のステータスバーにgitの状態表示が出ていれば成功です。そのまま次の「初回の認証と成功確認」へ進んでください。
ルートB|vaultがまだgitと無関係の場合:プラグインだけで完結する手順は次の5つです。
- ブラウザで github.com を開き、右上の「+」→ New repository。名前を付け(例:my-vault)、必ず Private を選択。「Add a README file」などのチェックは何も入れずに Create repositoryチェックを入れないのは、中身が空のリポジトリにしておくためです。ここにREADME等があると初回pushが競合します。
- 作成後の画面に表示される HTTPSのURL(https://github.com/ユーザー名/my-vault.git)をコピーする
- Obsidianに戻り、コマンドパレット(Ctrl/Cmd+P)で 「Git: Initialize a new repo」 を実行する
- 続けて 「Git: Edit remotes」 を実行し、リモート名は
origin、URLは手順2でコピーしたものを貼り付ける - 「Git: Commit-and-sync」 を実行する。ブランチ名やupstreamの確認が表示されたら、そのままEnter/OKで進めて問題ありません
初回の認証と成功確認
初回のpush時に、GitHubへのログインを求められます。ブラウザが自動で開くので、サインインして承認すれば完了です(Git本体と一緒に入ったGit Credential Managerの仕事で、2回目以降は聞かれません)。
最後に成功確認です。ブラウザで github.com の自分のリポジトリを開き、vaultのノートやフォルダが並んでいれば、初期設定はすべて完了。ここから先の同期は、次章の自動化設定に任せられます。
自動同期のおすすめ設定
プラグイン設定(設定 → Git)で、次の3つを変えるだけで「編集するだけで同期される」状態になります。
- 自動commit+syncの間隔(Auto commit-and-sync interval):10分短すぎるとコミット履歴が細切れになり、長すぎると端末間のズレが大きくなります。10〜15分が扱いやすいバランスです。
- 起動時にpull(Pull on startup):ONObsidianを開いた瞬間に他の端末の変更を取り込みます。コンフリクト予防に一番効く設定です。
- コミットメッセージに日時を入れる({{date}}テンプレート)後から履歴を見返すとき「いつのスナップショットか」が一目で分かります。
設定項目の名称はプラグインのバージョンによって多少変わります。見つからないときは設定画面内を「auto」「pull」で検索してください。
よくあるつまずき5つと直し方
1. 「Git is not installed」と表示される
Git本体が入っていないか、ObsidianからPATHが見えていません。git-scm.comからインストールし、PCを再起動してからObsidianを開き直してください。インストール済みなのに出る場合は、ターミナル(コマンドプロンプト)で git --version が通るかを先に確認します。
2. pushで認証エラーが出る
初回pushの認証が済んでいないか、以前の認証情報が古くなっています。Git Credential Managerが入っていれば、pushのタイミングでブラウザが開きGitHubログインを求められるので、そのままサインインすれば解決します。以前パスワード方式で認証していた場合は失敗するため、古い認証情報を削除(Windowsは「資格情報マネージャー」からgithub.comの項目を削除)してから再pushしてください。
3. コンフリクト(競合)が起きた
2つの端末で同じノートを編集したまま同期するとコンフリクトになります。該当ノートに <<<<<<< と >>>>>>> で挟まれた2つの版が並ぶので、残したい内容だけにしてマーカー行を削除し、保存してcommitすれば解消です。
予防のコツは2つ。書き始める前にpullする(Pull on startupをONにしておく)、そして放置している端末を作らない(数日ぶりに開いた端末が古い状態でpushするのが典型パターン)です。
4. workspace.jsonが毎回変更される
「何も書いてないのに毎回差分が出る」原因のほとんどはこれです。.obsidian/workspace.json は「今どのノートを開いているか」という一時的な画面状態のファイルなので、同期する価値がありません。vault直下の .gitignore ファイルに次の1行を足すと差分に出なくなります:.obsidian/workspace.json
5. スマホ(モバイル版)で動作が不安定・重い
これは設定ミスではなく、プラグインの構造的な制約です。モバイル版Obsidianでは本物のgitが使えないため、obsidian-gitはJavaScript製の代替実装で動いています。公式ドキュメント自体がモバイル対応を実験的と位置づけており、vaultが大きいとメモリ不足で落ちる、クローンや同期が極端に遅い、といった報告が多くあります。スマホ側は次の章の構成にするのが現実的です。
スマホ側はどうするのが現実的か
結論はシンプルで、「デスクトップ=obsidian-gitで自動化、スマホ=gitを介さない閲覧・編集手段」の併用です。スマホでgitを動かすことを諦めると、モバイル起因のコンフリクトとクラッシュがまとめて消えます。
スマホ側はOB Liteが引き受けます
OB Liteは、GitHub上のvaultをスマホのブラウザから直接読み書きするアプリ(PWA)です。スマホ側のgit設定はゼロ。保存すると1コミットとしてGitHubに記録され、保存前にリモートとの競合チェックも行うので、デスクトップのobsidian-gitとは干渉しません。閲覧と編集の基本機能は無料です。
この構成なら、デスクトップは今日設定したobsidian-gitの自動同期のまま。スマホで書いた変更は、PCのObsidianを開いた瞬間のPull on startupで取り込まれます。