Obsidian Git同期(モバイル)

iPhone / iPad で Obsidian Vault を GitHub と同期するアーキテクチャと実践手法。デスクトップでは GitHub Actions や Obsidian Git プラグインが安定動作するが、モバイルでは専用戦略が必要

Contradiction

K.I(ishikawa096)(2024-11-10, Zenn)は「Working Copyは不要で、Obsidian Gitプラグインを直接iPhoneにインストールすれば同期できる」と報告している(→ Obsidian Gitプラグイン直接同期(iOS))。 本ページの「Working Copy完全委任」推奨(ぼやちゃん(k1nsenka) 2025-05-01提唱)とは異なる見解。Vault規模やプラグインバージョンによって動作が異なる可能性があるため、小規模Vaultでは直接同期が機能する場合もある。

問題背景:Obsidian Git プラグインのモバイル制限

Obsidian Git プラグインはデスクトップ(Electron)環境では安定動作するが、iOS 上では根本的な制約がある。

  • libgit2 のメモリ制限:iOS の libgit2 バインディングがモバイルの制限されたメモリ環境で大量ファイルを扱えない
  • クラッシュ閾値:ファイル数 3〜5千件・容量 200 MB 超あたりで初回クローンやプッシュ時にクラッシュが顕在化
  • プラグイン作者の見解:根本対応が困難であることをプラグイン作者自身が公式 Issue で認めている

Warning

モバイルで Obsidian Git プラグインを有効にしたまま使用すると、Vault のデータ破損リスクがある。モバイルではプラグインを無効化し、.gitignore.obsidian/plugins/obsidian-git/ を追記することが推奨される。

現状ベストプラクティス:Working Copy による完全委任

モバイルでは iOS ネイティブ Git クライアント「Working Copy」に Git 操作を完全に委任するのが現状ベストプラクティス。

構成要素

役割ツール
Git クライアントWorking Copy(v5.4+、Push は Pro アドオン必要)
ノートアプリObsidian(iOS)
リモートリポジトリGitHub(PAT または SSH 認証)
自動化Apple ショートカット

セットアップの核心:フォルダリンク

Working Copy の「Setup Sync for」機能(旧称:Link Repository to Directory)で、クローンしたリポジトリとローカルの On My iPhone/Obsidian/<VaultName> を双方向ミラーリンクする。これにより Obsidian 側のファイル変更が Working Copy から管理できる。

自動化パターン:開いたら Pull・閉じたら Push

Apple ショートカットのオートメーション機能を使い、アプリのライフサイクルに Git 操作を紐付ける。

App: Obsidian → Opens  →  Run Shortcut: Pull Vault
App: Obsidian → Closes →  Run Shortcut: Commit & Push Vault

「Ask Before Running」をオフにすることで完全自動化される。

デスクトップとの分業

環境推奨ツール
デスクトップ(macOS / Windows)Obsidian Git プラグイン または GitHub Desktop
モバイル(iOS / iPadOS)Working Copy + Apple ショートカット

デスクトップ側でも Obsidian Git プラグインを使用している場合、モバイルでの .gitignore 設定によりプラグイン設定ファイルの競合を防ぐことが重要。

関連概念