🙌

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