ObsidianのデータをGitHubで共有(同期)

目次

Obsidian のデータを複数の環境で使用したいため、共有(同期)するため、これまではデータの共有と同期が簡単な GitHub を使用していました。しかし Git を使用するとコンフリクトが起きても安心とはいえ、手動で push-pull をするのは面倒でした。それを解決するプラグインがあると聞いて試してみました。


目的

Markdown でのメモ作成と自動リンクが気に入ってObsidianを多用しています。後でメモしようと思うと絶対に忘れるので、あっちのパソコン・こっちのパソコンと複数のマシンで使いたくなります。

このようなときに問題になるのが、データの共有(同期)です。

これまではフォルダ単位の同期が簡単ということで GitHub を使っていました。ただ非同期での修正ができるとは言っても、gitコマンドで同期したりコンフリクトを修正するのは面倒です。

そんな時、Obsidian に GitHub で同期するプラグインがあることを知りました。そこで早速試してみました。

参考にしたサイトでは、新しく Repository を作成していましたが、すでに Obsidian のデータが手元にある前提で進めます。

方法

GitHub にレポジトリの作成と今のデータをアップロード

プラグインをインストールする前に、GitHub の情報を入力する必要があるため GitHub の方を先に準備しておきます。

レポジトリの作成

  1. まずGitHub の dashboardを開きます。
  2. ここで、画面左上にある「New」を押して新しい repository の作成画面に移ります。
  3. Repository name に適当な名前を設定します。
  4. Pubric か Private を選択しますが、一般的には世界に公開したくはないので Private を選択します。
  5. その他は特に変更しないで「Create repository」ボタンをクリックします。 .gitignore の設定が必要ですが、手元のファイルをアップロードするので、ここでは none のままで問題ありません。

create GitHub repository

  1. 「Create repository」ボタンをクリックすると、手元のデータを Git の管理下においてアップロードする方法と、すでに Git 管理下にあるデータをアップロードする方法が表示されるので、手順に不安があればメモっておきます。

Access token の作成

iPhone からも使用する予定がある場合は access token の作成が必要ですが、 Ubuntu 上で GitHub を使うために SSH key が登録してあれば access token の取得や認証情報の登録は不要です。

Obsidian データのアップロード(push)

.gitignore の作成

設定を統一できる反面で iPhone のアプリを使用したら同じ設定が何度も変更されて面倒でしたので、瀬底を共有しないほうが楽でした。

# Obsigianの設定を共有しない。
.obsidian/

# workspaceのキャッシュのみ共有しない。
# .obsidian/workspace.json
# .obsidian/workspace-mobile.json
git init
git add -A # 全てのファイルを登録する。
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:nosuz/obsidian.git
git push -u origin main
git remote add origin git@github.com:nosuz/obsidian.git
git branch -M main
git push -u origin main

Git プラグインのインストール

Git extension

GitHub プラグインの使用方法

iPhone での設定

Access Token を入力する

参考サイトと脚注