🪨
ObsidianとGitHubの連携手順
はじめに
ノートアプリObsidian(mac版)を利用するにあたって、自身のGitHubアカウントと連携し、ノートを自動でコミット&プッシュされるようにしたいと考えました。
しかし、検索して出てくる記事はスマホ向けの内容ばかりで、そのまま使える情報には辿り着けませんでした。
そのため本記事では、実際に動作した手順を備忘録としてまとめます。
参考にした記事との違い
多くの記事で紹介されているスマホ向けの手順は以下の通りです。
- GitHubのアカウントでパーソナルアクセストークンを発行
- ObsidianでGitプラグインをインストール
- Gitプラグインのsettingの、「
Authentication/Commit Author > Username」にGitHubのユーザーネームを入力 - 「
Authentication/Commit Author > Password/Personal access token」にパーソナルアクセストークンを貼り付ける。
しかし、PC版のObsidianのGitプラグインには「Authentication/Commit Author」のような項目が存在せず、アクセストークンを入力する欄もありません。
実際に行った連携手順
前提知識
- ObsidianはVault(保管庫)という単位でノートを管理します。
- VaultのルートディレクトリをそのままGitリポジトリにする必要があります。
- PC版の方法ではアクセストークンは不要です。
1. Vault(保管庫)を作成
今回はValut/my-obsidian-notesディレクトリを作成しました。
Valutディレクトリ直下に保管庫を置く必要は特にはありませんが、今後保管庫を増やしたい・分けたい場合のことを考えてこのようなファイル構成にしました。
Valut
└─ my-obsidian-notes
このmy-obsidian-notesはこのあとgithubのリポジトリ名として使用します。
2. GitHubにリポジトリを作成
ここで設定したリポジトリ名と、ObsidianのVault名は一致している方が管理しやすいため、今回はmy-obsidian-notesとしました。
https://github.com/username/my-obsidian-notes.git
3. ローカルの保管庫ディレクトリをリポジトリ化
cd /Users/username/vault/my-obsidian-notes/
git init
git remote add origin https://github.com/username/obsidian-notes.git
4. コミット&プッシュ
git add .
git commit -m "Initial commit"
git push -u origin main
5. コミュニティプラグインからGitをインストール
Setting > コミュニティプラグインを開く-
「コミュニティプラグインを有効化」をクリックし、プラグインをインストールできるようにする
-
閲覧 > Gitを検索しインストール&有効化

6. 自動コミット&プル、コミットメッセージの設定
setting > Gitプラグインの設定を開く-
自動コミット&プッシュの間隔を設定
-
Auto commit-and-sync interval(minutes)に任意の数値を入力
デフォルトが0(自動でコミット&プッシュされない)になっているので、今回は10分ごとにコミット&プッシュされるように10と入力します。
-
-
自動プルの間隔を設定
-
Auto pull interval(minutes)に任意の数値を入力
デフォルトが0(自動でプルされない)になっているので、今回は10分ごとにプルされるように10と入力します。
-
-
必要に応じてコミットメッセージを設定
自動コミットと手動(マニュアル)コミットでコミットメッセージを変えることができます。
私はauto commitとmanual commitでコミットメッセージを変えました。


他の項目は必要に応じて設定してください。
7. パスを通す
whichでコマンドのパスを確認
which git
/usr/local/bin/git
-
Gitプラグインにパスを記載
- ディレクトリを追加する必要があるため、
/usr/local/bin/gitのgitの部分は不要 -
/usr/binは保険として追加(なくてもOK)
8. コミット&プッシュの確認
Obsidianからファイルを編集して、設定した間隔後にGitHubに反映されているか確認します。
これでObsidianとGitHubの連携が完了しました。
Discussion