はじめまして、2028年6月からエンジニアとして働きはじめたRinaです。
今月頭からobsidianを使い始めました。
ローカルアプリかつマークダウン形式、リンク機能、拡張機能の豊富さですでに虜なのですが、デバイス間共有がしづらいところが唯一気になる点。
なんとか苦労しながらGitHub経由での初期設定を行い、iPhoneとMacbookを連携させていたのですが先日ついに事故が起こりました。
ついにおきたコンフリクト
PCで作業後、PushをせずにiPhoneでobsidianを開いてしまったんです。
iPhoneのobsidianアプリ(以降アプリ)は起動した際に自動でPull&Pushをするように設定していたため、コンフリクトが発生しました。
このときは帰ってからPCで強制Pushすればええかくらいに思っていたのですが、やってみたところ、なんとデータが分かれてしまいました。どうやらPCから強制Pushをしたらアプリのリポジトリは別になるらしく…(詳細不明ですが、ブランチが分かれるわけでもなくただデータが分かれました)
そうだ、いっそ新しく
どうにかこうにかiPhoneからローカルデータを破棄できないかちまちまとコマンドを書いてPushをしてと試行錯誤を重ね、それでもうまくいかず……しゃらくせえ!となった結果。
PCに保存しているObsidianのVaultデータをiCloud経由でiPhoneのローカルアプリ(Files)に移行させ、obsidianアプリを新しくしてしまおうという荒業にでました。
絶対にもっとスマートな方法があると思いますが、仕事後の疲弊した脳にはこちらの方法が一番でした。
コンフリクト解消のやり方
- PCのローカルデータをリモートリポジトリに強制プッシュしておきます。すでにローカルデータがPulldで更新されてしまっている場合はgit logで戻したい地点のコミットを検索、「git reset --hard ハッシュ値」で任意のデータに戻しておきます。
- PCに保存しているObsidianのVaultデータをコピー。MacBookの方だとドキュメント(書類)に保存されているかと思います。
- コピーしたVaultデータをiCloudにペースト。
- iPhoneに移動。純正アプリであるFilesを起動、iCloudを開きます。PCで保存したVaultデータがあるので長押しでダウンロード。ダウンロード後、さらに長押しをするとメニューが表示され、「移動」メニューがあるのでそちらをクリック、On my iPhoneにあるObsidianアプリのファイルに移動させます。
- データの移行後、Obsidianアプリを起動。Vault変更画面に行くと③でPCから移行させたVaultがいるのでそちらを開き、再度Gitの連携をし直します。
※設定方法については下記リンクを参考にしました。
注意点
データ移行中に他のデバイス(今回だったらMacbook)のobsidianを触らないことです。変にデータが新しくなると再度コンフリクトが起きる可能性があります。
スマートではないけど最終手段としておすすめ
ちょっと時間がかかる手段ではありますが、あれこれ試す前にさくっと上記の方法をやってもよかったなと反省しています。どうせiPhoneのアプリは確認やToDoのチェックくらいでしか使っていなかったので。
次似たようなことが発生したら容赦なく上記の方法でいこうと思います。
お付き合いいただきありがとうございました!