Obsidian、最近流行ってます。
この記事でも生成AIを活用するための中核として、Obsidianがその性能を示しており、大変驚きました。AI執筆、できるようになりたい。
ただ、自分はObsidianをイマイチ使いこなせていませんでした。その大きな理由が、「拡張機能であるObsidian GitとGitHubがいつまで経っても連携できない」というものでした。かなり遠回りしましたが、今回連携できる、しかもおそらく最も連携が難しいであろうiPad版での連携に成功しましたので、手順を書いておきます。
- 準備するもの
- 参考: 既存のチュートリアル
- 1. リモートリポジトリを作成する
- 2. リモートリポジトリに空のコミットを行う
- 3. tokenを作成する
- 4. Obsidian Gitで初期設定を行う
- 5. 右タブ
- おわり
準備するもの
参考: 既存のチュートリアル
実は公式のチュートリアルがすでに存在しますが、これにはいくつかの問題点がありました。
- Tokens(classic)でのやり方である。classic tokensはObsidian Gitに使う上では機能が過剰です。
- 実は漏れている手順がある。
そのため基本はチュートリアルに沿いつつ、要所要所で補足する形式にします。
1. リモートリポジトリを作成する
GitHub上でObsidianのデータを保存する空のリモートリポジトリを作成します。README.md, ライセンスの有無を聞かれますが、これもなしで作成します。
2. リモートリポジトリに空のコミットを行う
Obsidian GitのGitの機能は貧弱なため、HEADがないとコミットができません*1。しかし、Obsidian GitにはHEADを作成する機能が存在しないため、別端末からHEADを作ってあげる必要があります。
さらに、連携したい端末のObsidianですでに編集を加えていたとき、「中身のある変更」を加えてしまうとコンフリクトしてしまう恐れがあります。Obsidian Gitにコンフリクトを解消する高度な機能は備わっていなさそうでした(abortするか変更を全て消すか迫られる)。
そこで確実にコンフリクトせずHEADを作ることができる、空コミット git commit --allow-empty を行います。
Gitが動く端末を立ち上げ、以下を入力。
mkdir Obsidian git init git branch -M main git commit --allow-empty -m "first commit" git remote add origin (1で作成したリモートリポジトリ) git push -u origin main
3. tokenを作成する
https://github.com/settings/personal-access-tokens から新しいアクセストークンを作成します。

"Generate New Token"から新しいトークンを作成します。指示に従って入力します。後からトークンを確認する手段はないので、識別できるように名前や説明はしっかり考えましょう。
Repository Accessの項目から、"Only select repositories"を選択、選択すると出てくるドロップアウトから先ほど作成したObsidianリポジトリを選択します。

次に選択したリポジトリにwriteの権限を付けるため、下部の"Repository permissions"を開きます。たくさん項目が出てきますが、Commit statusesとContentにRead and Writeを付与すればOKです*2。

有効期限は付けたほうが望ましいですが、付け替えの方法が分からなくて困っているのでつけなくてもいいと思います。
アクセストークンを作成したらメモしておきます。
なお、権限は後から変更することもできます。
4. Obsidian Gitで初期設定を行う
ここまでできたらObsidian上で設定ができるようになります。アプリ版のObsidianを開き、コマンドパレットを開きます(iPad版だと画面最上部で下にスワイプ)。
”Git: Clone an exsiting remote repo"を選択。remote URLを要求されるので、上のチュートリアルで紹介されている、https://<PERSONAL_ACCESS_TOKEN>@github.com/<USERNAME>/<REPO>.git の形で入力します。

これまでの設定が上手くいっていれば、usernameやrootDirの設定などを聞かれるはずです。今回はとにかく全部バックアップしたいのでそのように設定します。
エラーが出なければ成功です。お疲れさまでした。コマンドパレットや右ドロワーから各種操作ができます。
ただ、ここからコミットを行うには左タブの歯車アイコンから、Git→"Author name for commit", "Author email for commit"を設定してください。
5. 右タブ

おわり
これでようやくPCのメモなどもObsidianに移せそうなので、本格的な活用が始まりそうです。連携する、ただそれだけのために1年近く使いました。私の二の舞になる人が少しでも少なくなりますことを願って筆を置きます。