3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Obsidian Vault を iCloud から GitHub へ移行した

3
Posted at

はじめに

なぜ iCloudを使ったVault管理をやめたか(困っていたこと)

  • iCloud上のObsidianフォルダ(システム側で生成される)にVaultを保存し、iPhone版Obsidianで利用していた
  • WindowsでもiCloudアプリを使って、同じiCloudのVaultをWindows版Obsidianから参照していた
  • 問題点:ファイル名(1), ファイル名(2) のような同名ファイルが大量にできる
    • おそらく iCloud 同期の競合解決で勝手に作られている
  • 競合ファイル整理に時間が吸われるので、運用を変えることにした

ゴール(実現したいこと)

  • PC/iPnoeでメモを同期したい
  • GitHubに自動バックアップを取りたい
  • 無料で履歴管理したい
  • 競合ファイル(ファイル名(1)、ファイル名(2))が生まれないようにしたい
  • 将来的には、AIエディタ等でコンテキストを活かした知的生産作業ができるようにしたい(ノート資産を「使える形」で蓄積したい)

前提条件

  • もともとObsidianを使っていたのでVaultのフォルダはPCに存在している
  • GitHub無料プランを使用
  • Windows側
    • 初期設定としてGitHub Desktop を使ってリポジトリ作成などを行う(コマンドライン使いたくない)
    • 日常運用は、Windowsの Obsidian を開いているだけで、自動で Pull / Commit / Push が回る構成にする。Obsidian Git(Community Plugin)を利用
  • iPhone側
    • 初期設定はWorking Copy を使ってクローンし、iPhone版Obsidianに設定する
    • ショートカットやオートメーション機能で必要時にPull / Commit / Pushを自動的に行う

用意するもの

  • 同期設定したいiPhone
  • Obsidianアプリ(win, iPhone)
  • Working Copyアプリ(App Store)(買い切りの有料プラン 2025年12月現在で¥4,500)
  • GitHubのアカウント
  • GitHub Desktop
  • iPhoneのショートカットアプリ

構成

  • Vault の実体は Windows ローカルに置く
  • GitHub にリポジトリを作成して保存先にする
  • Windows:
    • 初回だけ GitHub Desktop でリポジトリ作成(コマンドライン使いたくない)
    • 以後は Obsidian Git が一定間隔で自動同期(Pull / Commit / Push)
  • iPhone:
    • Working Copy でリポジトリをクローンし、Obsidian から開く
    • Working CopyとObsidian間はdirect link
      • ファイルなどはObsidianのフォルダに保存するとGit上に反映される
    • ショートカットで Pull(起動時)/ Commit+Push(終了時)を自動化

手順(Windows)

1. 事前準備(事故防止)

  • すべてのデバイスの Obsidian を停止(Windowsはタスクも切る)
  • iCloud 上の該当Vaultフォルダをデスクトップへコピーしてバックアップ作成

2. 新しい Vault フォルダを作成し、これまでのファイル群をコピー

My Documents 直下に新しいVault(フォルダ)を作りました。
保存場所: C:\Users\XXXX\Documents\Obsidian_vault
その後バックアップの中身を新しいフォルダへすべて移行しました。

3. .gitignore を作成する

  • 新しい保存場所: C:\Users\XXXX\Documents\Obsidian_vaultフォルダで右クリック → 新規作成 → テキスト ドキュメント
  • ファイル名を .gitignore に変更(警告が出てもそのままOK)
  • 今回の作成した .gitignoreの内容は以下。よくわかっていないので、これが良いか不明。いつかしっかり調べたい。
.gitignore
############################################################
# Obsidian Vault (.gitignore)
# 方針: 競合が起きやすい“端末依存/頻繁に変わる状態”をGit管理しない
############################################################

########################
# 1) Obsidian: ワークスペース(競合源)
########################
.obsidian/workspace.json
.obsidian/workspace-mobile.json

# 「Not a file: .obsidian/workspace」系の回避(環境によって出る)
.obsidian/workspace
.obsidian/workspace/

########################
# 2) Obsidian: アプリ状態
########################
.obsidian/app.json
.obsidian/app(*).json

########################
# 3) 重複ファイルだけ無視((1)(2)対策)
#   ※本体の *.json(括弧なし)は残す
########################
.obsidian/appearance(*).json
.obsidian/core-plugins(*).json
.obsidian/community-plugins(*).json

########################
# 4) キャッシュ
########################
.obsidian/cache/

########################
# 5) モバイル連携
########################
.obsidian/ob-mobile.json

########################
# 6) プラグイン個人設定(今回は除外)
########################
.obsidian/plugins/*/data*.json

########################
# 7) Vault内のゴミ箱(使っている場合)
########################
.trash/

########################
# 8) OSゴミ
########################
.DS_Store
Thumbs.db

########################
# 9) エディタ一時ファイル
########################
*.swp
*~

########################
# 10) 重い添付(画像は入れる方針:動画/圧縮のみ除外)
########################
*.mp4
*.mov
*.mkv
*.avi
*.webm
*.zip
*.7z

4. GitHub Desktop でリポジトリを作成 → commit → Publish(push) する(初回だけ)

コマンドラインでGitHubを使うのが苦手なので、GitHub Desktopを使いました。

  • GitHub Desktop のバージョン:
    Version 3.5.4 (x64)

GitHub Desktop でGitHubへのログインとかは適当に行い、File→Add local repository→ Obsidian_vault を選択→create a repositoryします。

image.png

commit を実行してから Publish(push) しました。

5. GitHub Web で確認する

GitHub のWebでリポジトリを開いて、これまでのVaultの中身(.md ファイル)が見えることを確認しました。


6. Windows の Obsidian で新しい Vault を開く

新しく作成した保存場所: C:\Users\XXXX\Documents\Obsidian_vaultをObsidianの保管庫を新しく開き直しました。
image.png

7. Obsidian Git プラグインを入れて「開いているだけで自動同期」へ

Obsidian Git(Community Plugin)をインストールして設定しました。
ここからは GitHub Desktop はほぼ使わず、Obsidian 側の自動同期が主役になります。

設定 → 「Git」タブで https://zenn.dev/harieshokunin/articles/5a827bee5d2355 を参考に以下で設定。これでObsidianを開いている間は、5分ごとに pull → commit → push が自動実行されます。

  • Auto commit interval: 5分
  • Auto push interval: 5分
  • Auto pull interval: 5分
  • Pull on startup: ON
  • Push on commit-and-sync: ON
  • Commit message (AUTO/MANUAL): vault backup: {{date}}



8. 動作確認

WindowのObsidianで新しくノートを作成して、しばらくした後にGitHubを確認


逆にGitHub 側で編集して、Windows Obsidian に反映されるかも確認します。
こいつにweb側で追記してから・・・

WindowsのObsidianで確認します。Obsidian を再起動すると起動時の Pull で更新されていました。

これでWindows側は完了です。Obsidian Git が起動時にPullするとともに、一定間隔で自動同期(Pull / Commit / Push)してくれるようになりました。

手順(iPhone)

次にiPhone側の作業です。基本的に先人の言う通りでした。

Working CopyとObsidianの設定

以下のページの通りに実行したら大丈夫です。私は何回かエラーを出しましたが、リポジトリURLのスペルミスでした。
ちなみに参考サイトのStep3 「レポジトリとVault(フォルダ)をリンクする」の作業手順を実施するあたりで、Working Copyからアプリ有料課金を求められます。

ショートカットで Pull / Commit / Push を自動化する

以下のサイトを参考にして、iPhone(iPad)のショートカットアプリで、

  • 「Obsidianを開く」をトリガーに Pull
  • 「Obsidianを閉じる」をトリガーに Commit と Push

を自動で実行するようにしました。

メモ:
オートメーションのコミットに関する設定画面で「AI Suggested Message」など項目が増えていましたが、基本は気にしなくてOKでした

iPhoneに「背面タップを3回すると音声入力を起動し、入ってきた音声をOpenAIのAPIに投げて整形し、内容をObsidianに保存する」というショートカットを使っているのですが、それは保存先をiPhoneのObsidianのフォルダ(Working Copyではなく)に変更することで問題なく使えました。

まとめ

  • iPhoneとPCで同じVaultがファイル競合の恐れなく使えるようになった
  • iPhoneでObsidianアプリを開いたら自動でPull、閉じるときに自動でCommitとPushを実行する
  • WindowsではObsidian Git が一定間隔で自動的にでPull / Commit / Pushする

参考リンク

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?