こんにちは、相戸ゆづなです!
Obsidianデータをスマホと接続するために、Obsidian Gitを導入したことがあります。悪戦苦闘しつつも導入できましたが、Gitは癖が強かったので、結局Git運用をやめました。
Gitについてわかっていない人が手を出すと、エラー文で泣きます。そうなる前に、クラウド同期とGitの違いを理解してから、Obsidian Git導入を検討していただけたらなーと、思います。
クラウド同期ってどういうシステムなの?
クラウド同期について詳しいことを知らなくても、下記のサービスは耳にしたことがあるのではないでしょうか?
- iCloud
- Googleドライブ
- OneDrive
- DropBox
自分が作成・編集したファイル「自体を」「クラウドサーバーに」保存し、「自動で」同期をしてくれます。この「ファイル自体をクラウドに保存・自動で同期」という言葉、重要なので覚えておいてくださいね。
<注意>
上記の項目はすべてのクラウドに当てはまるものではありません。クラウドストリーミングや、Obsidian + Androidの仕様など、一部システムに例外はあります。
ただ「ファイルを開く前に」「ファイルを同期してダウンロード」というシステム自体は同じなので、このように記しておきました。
じゃあGitはどうなの?
- ファイルを「いったん保管庫に保存」し、「保管庫をサーバーにアップロード」
- 他の端末で「アップロードした保管庫を複製」して、ダウンロード
- 複製したファイルを編集し、変更申請をする
- 変更申請を受け取って、元端末の保管庫データと統合
大まかにいうとこんな感じ。3〜4に関しては、同じユーザーアカウントなら、複雑な手続きしないでそのまま変更を元の端末に知らせます。(プッシュ)
ただ、元の端末側で「並行」しながら編集していると、さあ大変。「編集データが競合してしまった!ねぇ、どーすんの?」とGitさんが聞いてくるわけです。(コンフリクト)
クラウドとGitが行う、競合処理
クラウドは単純です。「データが競合した?ならファイルをコピーして保管すればいいよね?」と考えて、自動で処理してくれます。
同期したら同じファイルが2個できたこと、あなたも経験したのではないでしょうか。競合データを「両方とも」残しておくことで、両方の編集が反映されます。
一方Gitは人間側で判断し、競合処理を行います。競合処理が自由にできる反面、ややこしい部分は否めません。(それにエラー文が英語なので、心臓に悪いのもあります)
なんでGitはこんなに複雑なの?
Gitはもともと複数人でプログラムコードを管理するシステムです。さっきのGitの流れも、複数人で作業するシチュエーションを想像するとわかりやすいかも。
- Aさんが作った保管庫をBさんがコピー
- Bさんがプログラムコードを編集する
- BさんがAさんへ「コードを更新したよー」と報告する
- AさんがBさんの更新内容を確認、保管庫を更新する
- Bさんがプログラムコードをいじっている間に、Aさんが同じファイルをいじっていたらどうなるでしょう?
Aさんが変更箇所を確認してデータを統合する必要があります。このような流れがあるからこそ、Gitはクラウド同期に比べて複雑な流れになっているのです。
メモを管理するには複雑すぎるシステム
正直に言って、「メモファイルを個人で管理」するには複雑なシステムに感じます。上記の説明を聞いて「複雑だなー」と思った方は、おとなしくクラウド同期にしましょう。
それでも迷う方は下記の基準で検討してみてください。
クラウド?Git?の判断基準
1.異なるOS間で同期するか?
WindowsとMacならiCloud以外のクラウド同期サービスを、(iCloudはWindows側が不安定なので推奨しません)Apple製品同士ならiCloudでなんとかなります。
しかし、他のOSが絡む場合(とくにWindowsとiOS)だと、下記の選択肢に絞られます。
- Obsidian Syncを使う(月10ドル)
- 他のクラウドサービスを使う(Evernote・Notion・Scrapbox)
- Gitを検討
2.複数の端末で編集するか?
複数端末で作業するほど、データ競合率が上がります。2台ならまだGitでも何とかなりますが、3台以上になる場合はクラウドもしくは他サービスを検討しましょう。
3.英語に対応できるか?
Gitを触る場合、必ず英語に触れる機会があります。
- GitHub
- Gitのエラー文
自分で翻訳をかけることができる、もしくは文章を検索にかけることができるならGitを導入してもいいと思います。「英語を見るだけでムズムズする〜!」という人はGitやObsidian自体を諦めましょう。(Obsidianのプラグインで作成されていることが多いので、英語翻訳スキルが必須)
4.そもそも本当に同期する必要があるのか?
iPadで閲覧したいとか、ライフログを残したいとかあるならいいんですけれども。手間や金に見合ったメリットがないなら、同期を諦めるのも1つの手です。
私も「無料でiPadから閲覧できればいいな〜」くらいのノリでやったのですが、正直労力が見合わなかったです。(あとスマホ・タブレット端末のUIがそんなに良くないので、使うのをやめたクチです)
まとめ
- クラウドに比べてGitは複雑
- 無理してObsidianで同期しようとしない、他サービスも検討する
本当にね、Gitは厄介なんですよ。(経験談)
クラウドのノリで同期をすると、必ず痛い目を見ます。導入は慎重にね。