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 設定によりプラグイン設定ファイルの競合を防ぐことが重要。
関連概念
- Working Copy — iOS ネイティブ Git クライアント
- Obsidian Gitプラグイン直接同期(iOS) — Working Copy不要の代替アプローチ(矛盾あり、要検証)
- GitHub Actions — GitHub 側の自動化
- Obsidian × Cursor 連携 — Obsidian を活用した執筆・開発環境
- Obsidian Bases — Obsidian のデータベース機能