ObsidianのGitリポジトリをiCloud Drive経由でスマホからもアクセスできるようにした
はじめに
これは個人的な防備録です。詳細な解説は後述の参考記事に譲ります。
OpenAI創設メンバー直伝:Obsidianで作る41,000人がブクマした“第2の脳”の作り方を見て実践しようとしたところ、スマホからもアクセスしたくなりました。
既存のGitリポジトリを壊さずiCloudと共存させる方法をまとめます。
やりたかったこと
- Karpathy氏の「第二の脳」をObsidianで実践する
- iPhoneからもVaultにアクセスしたい
- 既存のGit管理はそのまま維持したい
前提知識:なぜ.gitフォルダをiCloudにそのまま置いてはいけないのか
iCloudは.gitフォルダも同期対象にしてしまうため、別端末からの変更や同期の競合によってGitリポジトリ内部のデータが破損するリスクがあります。
解決策は .gitフォルダの実体だけをiCloudの管理外に置く ことです。
Gitには.gitをテキストファイルとして記述し、別パスの.gitフォルダを参照させる仕組みがあります。これを利用します。
実際にやったこと
1. ローカルのGitリポジトリからiCloudのObsidianディレクトリに移動
.gitフォルダ以外のすべてのファイルをiCloud上のObsidianディレクトリに移動します。
.gitignoreと.obsidianディレクトリのコピーを忘れずに。
iCloudのパスには2種類あります。通常のiCloud Driveではなく、Obsidianアプリ専用パスを使う必要があります。
| パス | |
|---|---|
| 通常のiCloud Drive | ~/Library/Mobile Documents/com~apple~CloudDocs/ |
| Obsidian専用(今回使うもの) | ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/fuga |
Obsidianモバイルアプリはサンドボックス内で動作するため、専用パス配下に置かないとモバイルから参照できません。
2. .gitテキストファイルを作成してパスを記述
Vault直下に.gitという名前のテキストファイルを作成し、.gitフォルダの絶対パスを記述します。
gitdir: /Users/hoge/Documents/GitAlias/fuga/.git
これにより、各種GitクライアントやCLIからGitリポジトリとして正しく認識されます。
3. ObsidianのデスクトップアプリとモバイルアプリのVault参照先を修正
- デスクトップ(Mac):ObsidianアプリのVaultをiCloud上の新しいパスに変更する
- モバイル(iPhone):ObsidianモバイルアプリでiCloud上のVaultを参照するよう設定する
4. デスクトップとモバイルで動作確認
両方のアプリからVaultにアクセスできること、Gitコマンドも正常に動くことを確認します。
これでGit管理しつつスマホからアクセス可能になりました!
おまけ:nvimユーザー向けシンボリックリンク
iCloudのObsidian専用パスは長くてCLIから打つのが面倒なので、シンボリックリンクを貼りました。
ln -s ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/ ~/obsidian
これで~/obsidian/fugaのように短いパスでアクセスできます。
今後の課題
バックアップ(git commit)の自動化を検討中です。
参考記事ではobsidian-gitプラグインを使った自動コミット設定も紹介されているので、そちらも試してみたいと思います。
Discussion