Obsidian同期ガイド:PC・iPhone・iPad間でノートを自動連携させる方法

概要

Obsidianは最高のノートツールですが、その真価は複数のデバイス間でシームレスに連携できてこそ発揮されます。公式のObsidian Syncは非常にスムーズですが月額費用がかかります 1。一方で、iCloudを使った同期は手軽ですが、ファイルの競合や意図しないデータ損失のリスクが常に付きまといます。

そこで今回は、GitとGitHubを利用した堅牢なバージョン管理を、PC・iPhone・iPadといったマルチプラットフォームで実現するための決定版とも言える方法をご紹介します。この手法の主役は、デスクトップではObsidian Gitプラグイン、iOSデバイスでは高機能なGitクライアントアプリ「Working Copy」です。

この記事を最後まで読めば、一度設定するだけで、あとは何も意識することなく各デバイスで同期が完了する、まさに「設定して忘れる(Set it and forget it)」レベルの快適な知識管理環境を、あなたの手で構築できるようになります。

はじめに:なぜこの方法なのか?

私がこの方法を考えたのには理由があります。

  • 堅牢性: Gitによるバージョン管理は、すべての変更履歴を保持するため、万が一の時も過去の状態に簡単に戻せます。

  • コスト効率: Working Copyは有料(一回限りの購入)ですが、月額課金のObsidian Syncに比べ、長期的に見ればコストを抑えられます。

  • 自動化による快適性: Obsidian GitプラグインとAppleの「ショートカット」アプリを連携させることで、手動操作を一切必要としない、ほぼ全自動の同期フローを実現できます。

技術的な設定は少し複雑に感じるかもしれませんが、一つ一つのステップを丁寧に行えば、誰でも再現可能です。それでは、早速構築していきましょう。

前提条件:始める前に必要なもの

以下の準備をお願いします。

  1. GitHubアカウント: まだお持ちでない場合は、公式サイトで作成してください。

  2. デスクトップPC: メインで利用するWindowsまたはMac。

  3. iOSデバイス: 同期したいiPhoneまたはiPad。

  4. 必要なアプリ:

    • Obsidian: 各デバイスの公式サイトまたはApp Storeからインストール。

    • GitHub Desktop (推奨): コマンド操作不要でGitを扱える便利なデスクトップアプリ。

    • Working Copy (iOS): App Storeからインストール。プッシュ機能を利用するためにPro版へのアップグレード(有料)が必須です。

    • ショートカット (iOS): iOSに標準でインストールされています。


構築手順:ステップ0 - 基盤作り(PC編)

まず、すべての同期の土台となる「中央リポジトリ」をGitHubに作成し、メインのPCと連携させます。

1. GitHubでプライベートリポジトリを作成する

あなたのノートは大切な知的資産です。まずは、それを安全に保管する場所をGitHub上に用意します。

  1. GitHubにアクセスし、新しいリポジトリを作成します。

  2. Repository name: obsidian-vaultなど、分かりやすい名前を付けます。

  3. 【最重要】Descriptionの下にある可視性を必ず「Private」に設定してください。これをPublicにすると、あなたのノートが全世界に公開されてしまいます 1。

  4. 「Add a README file」などのオプションは、今はチェックせずに「Create repository」をクリックします。

2. PCにVaultをセットアップし、GitHubと連携する

次に、PC上のObsidian Vaultを、先ほど作成したGitHubリポジトリに接続します。ここでは初心者にも分かりやすいGitHub Desktopを使った方法を解説します。

  1. GitHub Desktopを開き、GitHubアカウントでログインします。

  2. メニューから「File」→「Clone Repository」を選択し、「URL」タブに切り替えます。

  3. ブラウザで開いているGitHubリポジトリのページでURLをコピーし、GitHub DesktopのURL欄に貼り付けます。

  4. Local pathで、このリポジトリを保存したい場所を選択し、「Clone」をクリックします。

  5. 既存のObsidian Vaultがある場合:

    • エクスプローラー(またはFinder)で、既存のVaultフォルダの中身(.obsidianフォルダを含むすべてのファイルとフォルダ)を、先ほどクローンした新しいフォルダに移動します。
  6. Obsidianを起動し、「保管庫を開く」→「フォルダーを保管庫として開く」を選択し、クローンしたフォルダを指定します。

  7. GitHub Desktopに戻ると、多数のファイルが「Changes」としてリストアップされているはずです。

  8. 左下の「Summary」に「Initial Commit」などと入力し、「Commit to main」ボタンをクリックします。

  9. 最後に、画面上部の「Push origin」ボタンをクリックして、ローカルのファイルをGitHubにアップロードします。

3. Obsidian Gitプラグインで同期を自動化する

このプラグインが、Obsidian内での同期を司る心臓部です。

  1. Obsidianの「設定」→「コミュニティプラグイン」を開き、「セーフモード」をオフにします。

  2. 「コミュニティプラグイン」の「閲覧」ボタンを押し、「Obsidian Git」を検索してインストールし、有効化します。

  3. 有効化後、「設定」の「プラグインオプション」に「Obsidian Git」が追加されます。以下の設定を強く推奨します。

    • Vault backup interval (minutes): 自動でコミット&プッシュする間隔です。「5」や「10」に設定すると、定期的に自動で同期してくれます 9。

    • Pull updates on startup: 必ず有効にしてください。Obsidian起動時に常に最新の状態から始めることで、コンフリクトを劇的に減らせます。

    • Commit message template: {{device_name}} backup: {{date}} のように設定すると、どのPCからの変更か一目瞭然になり、管理が楽になります。

    • Disable Push: 必ずオフ(無効)にしてください。オンになっているとコミットはされますが、GitHubへのプッシュは行われません。

4. .gitignoreで不要なコンフリクトを防ぐ

.gitignoreファイルは、Gitに「このファイルは同期しなくていいよ」と教えるための指示書です。これがないと、各デバイスのウィンドウの状態など、同期すべきでない情報まで同期しようとして、頻繁にコンフリクトが発生します。

  1. Vaultのルートフォルダ(.obsidianフォルダと同じ階層)に、.gitignoreという名前のテキストファイルを作成します。

  2. 以下の内容をコピーして貼り付けます。これは、一般的なベストプラクティスに基づいた設定です。

# Obsidian
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.trash/

# Plugins
.obsidian/plugins/*/data.json

この設定により、コンフリクトの最大の原因であるUIの状態ファイル(workspace.json)や、プラグインが保存する機密情報(data.json)が同期対象から外れます。


構築手順:ステップ1 - iOSデバイスに「受け皿」を作る

ここからはiOSデバイスでの設定です。まず、GitHubからデータをクローンしてくるための空のVaultを作成します。

  1. iPhone/iPadでObsidianアプリを開き、「Create new vault」をタップします。

  2. Vaultに任意の名前を付けます。

  3. 【最重要】「Store in iCloud」のトグルスイッチが必ずオフになっていることを確認してください

  4. 「Create」をタップして、空のVaultを作成します。

構築手順:ステップ2 - Working Copyでリポジトリをクローンする

次に、Working Copyアプリを使って、GitHub上のリポジトリをiOSデバイスに持ってきます。

  1. Working Copyアプリを開き、サイドバー(または右上の「+」ボタン)から「Clone repository」を選択します。

  2. 「GitHub」タブを選び、自分のGitHubアカウントにサインインします。

  3. リポジトリの一覧から、先ほど作成したObsidian Vaultのリポジトリを選択して「Clone」をタップします。

構築手順:ステップ3 - Working CopyとObsidianを繋ぐ「フォルダ同期」

ここがiOS連携の核心部分です。Working Copyが管理するリポジトリと、Obsidianが読み書きするVaultフォルダを完全に一致させます。

  1. Working Copyで、クローンしたリポジトリを開きます。

  2. 右上の共有アイコンをタップし、「Setup Folder Sync」(または「Link Repository to Directory」)を選択します。

  3. ファイルピッカーが表示されたら、「このiPhone内」→「Obsidian」と進み、ステップ1で作成した空のVaultフォルダを選択して「完了」をタップします。

Obsidianアプリに戻ってみてください。PCで作成したノートがすべて表示されていれば、成功です。


究極の効率化:Appleショートカットによる同期の完全自動化

ここまでの設定で手動同期は可能ですが、私たちのゴールは「何もしなくても勝手に同期される」状態です。その鍵を握るのがAppleの「ショートカット」アプリです。

1. 「プル(Pull)」ショートカットの作成

まず、GitHubから最新の変更を取得するためのショートカットを作成します。

  1. ショートカットアプリで新しいショートカットを作成し、「Obsidian Pull」と名付けます。

  2. Working Copyの「Pull Repository」アクションを追加し、対象のVaultリポジトリを選択します。

2. 「プッシュ(Push)」ショートカットの作成

次に、ローカルでの変更をコミット&プッシュするためのショートカットを作成します。

  1. 新しいショートカットを作成し、「Obsidian Push」と名付けます。

  2. アクション1: Commit Repository

    • Working Copyの「Commit Repository」アクションを追加します。

    • リポジトリを選択し、メッセージ欄には iOS Backup - {{Current Date}} のように設定します。

    • 詳細設定を開き、「Fail when nothing to Commit」をオフにします。

  3. アクション2: Push Repository

    • 続けて、Working Copyの「Push Repository」アクションを追加し、同じリポジトリを選択します 2。

3. オートメーションの設定:魔法をかける最後の仕上げ

最後に、作成したショートカットがObsidianの起動・終了時に自動で実行されるように設定します。

  1. ショートカットアプリの「オートメーション」タブで、新しい個人用オートメーションを作成します。

  2. 【オートメーションA:起動時にプル】

    • トリガー: 「App」→「Obsidian」→「が開かれたとき」にチェック。

    • アクション: 「ショートカットを実行」→「Obsidian Pull」を指定。

    • 「実行の前に尋ねる」を必ずオフにします。

  3. 【オートメーションB:終了時にプッシュ】

    • 同様に、新しいオートメーションを作成します。

    • トリガー: 「App」→「Obsidian」→「が閉じられたとき」にチェック。

    • アクション: 「ショートカットを実行」→「Obsidian Push」を指定。

    • こちらも「実行の前に尋ねる」を必ずオフにします。


複数PCでの運用

2台目以降のPCにセットアップするのも簡単です。

  1. 2台目のPCにもObsidianGitHub Desktopをインストールします。

  2. GitHub Desktopを開き、ログイン後、ステップ0-2と同様にGitHubからVaultのリポジトリをクローンします。

  3. Obsidianを起動し、「保管庫を開く」→「フォルダーを保管庫として開く」で、クローンしたフォルダを選択します。

  4. 最後に、ステップ0-3と同様にObsidian Gitプラグインをインストールし、同じように設定すれば完了です。

これで、どのPCで作業しても、変更が自動的にGitHubに送られ、他のデバイス(PCやiOS)でObsidianを開いた際に最新の状態が反映されるようになります。

まとめ

お疲れ様でした!これで、あなたがどのデバイスでObsidianアプリを開いても自動で最新の状態がプルされ、アプリを閉じたり一定時間が経過したりすると自動で変更がプッシュされる、理想の同期環境が完成しました。

有料アプリの購入という初期投資は必要ですが、一度この環境を構築してしまえば、月額費用を気にすることなく、Gitの堅牢なバージョン管理の恩恵を受けながら、デバイスを意識しない管理体験が手に入ります。

私自身、この方法を採用してから、デバイス間の同期に関するストレスが減少しました。(時々Conflictが起きるのは仕組み上しかたがないですが)少し手間をかける価値は十分にありますので、ぜひ挑戦してみてください。

参考情報