【保存版】Obsidian × GitHub同期でエラーに襲われた時の解決ガイド

その他

ObsidianをPCとiPhoneで同期させる環境を構築したはずなのに、エラーが出ていませんか?

「画面いっぱいに英語のエラーメッセージが表示されてしまう」
「同期しようとすると、よくわからないエラーで拒否される」

こんな経験はありませんか? 実は私もこれで最近ずっと悩まされていました。
ただこの問題の解決のめどが立ったのでまとめておこうと思います

この記事では、Obsidian同期自動化ガイド の設定後に発生しやすい、同期トラブルの解決策を解説します。 参考になれば幸いです。


スポンサーリンク

目次

  1. トラブル1:履歴のズレ
  2. トラブル2:設定同期によるエラーと暴走
  3. まとめ

トラブル1:履歴のズレ

現象

iPhoneで fast-forward: you need to merge/fetch というエラーが出ます。
GitHubへ変更を送信(Push)できません。

原因:両方の端末で個別に変更したため

PCとiPhoneで別々の変更が行われたことが原因です。
iPhone側で最新の変更を取得(Pull)せずに書き始めると発生します。
履歴が枝分かれしたため、Gitが安全のために同期を止めます。

解決策:別記事の「マージ方法」を参照する

このトラブルは、履歴を「マージ(合体)」させることで解決できます。

PCを使わずスマホ(Working Copy)の操作だけでマージして解決する具体的な手順は、こちらの競合解決ガイド にて詳しく解説しています。

💡 もし「コンフリクト(衝突)」が発生しても同じ手順で直せます 履歴のズレがさらに進み、同じファイルの同じ行が衝突してしまった場合も、上記ガイドの手順でマージ・解決できます。


トラブル2:設定同期によるエラーと暴走

PCとiPhoneで設定を同期してしまうことで起きるトラブルです。
現象は2通りありますが、原因と根本的な解決策は共通しています。

現象1:謎のSSHエラー

iPhoneでObsidianを開くと、英語のエラーが表示されます。 
unrecognized transport protocol: "ssh" というメッセージです。 これが1分おきに表示され、作業に集中できません。

現象2:自動同期の暴走

iPhoneでGitプラグインをオフにしても、いつの間にか有効化されます。
iPhoneを開くたびに勝手に同期が走り、エラーになります。

原因:設定ファイル(.obsidian)が同期されている

PCの設定ファイルが、GitHub経由でiPhoneに上書きされるためです。
PC側でGitプラグインと自動Pushを有効にしていると、その設定がiPhoneにコピーされます。
結果として、iPhone側でSSHエラーや自動同期の暴走が発生します。

解決策:設定フォルダをデバイスごとに分離する

PCとiPhoneで設定フォルダを分離します。 これが最もスマートな根本解決策です。

  1. iPhoneのObsidianで「設定」を開く
  2. 「ファイルとリンク」を選択する
  3. 「設定フォルダの優先を切り替える」に .obsidian.mobile と入力する
  4. Obsidianアプリを再起動する

これでiPhone専用の設定フォルダが作成され、PCの設定と同期されなくなります。

メリット:環境の完全分離

設定フォルダを分けることで、以下のメリットがあります。

  • プラグインの分離: PCだけでGitプラグインを使い、iPhoneでは使わない構成にできます。
  • UI設定の分離: iPhoneは文字を大きくし、PCは二段組にするなど、個別にカスタマイズできます。

まとめ

ObsidianのGit同期エラーは、以下の2つのアプローチで解決できます。

  • 履歴のズレ(トラブル1): Working Copyで Merge を行う
  • 設定同期の不具合(トラブル2): iPhoneの設定フォルダを .obsidian.mobile に分離する

これで解決できます。

コメント

タイトルとURLをコピーしました