Obsidianをgitでバージョン管理するべきか否か

ObsidianのVaultをgit管理するべきか否かについて、考えたことを書きます。

  • 日常的にgitを使っていて、なんでもとりあえずgit管理したくなる人
  • gitでもなんでもいいけど、とにかくObsidianでバージョン管理機能が欲しい人

こういう人は多いのではないでしょうか。

僕はどちらかというと後者ですが、現状git管理はしていません。ZetterkustenっぽくObsidianを利用しているのですが、よくよく考えてみると、コストをかけてバージョン管理する必要性があまりないことに気が付いたためです。

Vaultをgit管理するのが適しているケースはむしろ稀で、大半は必要ないというのが僕の考えです。

この記事では「どういう使い方のときにgit管理するとよさそうか」を書くので、自分のVaultをgit管理するべきか否か考える材料にしてもらえるとうれしいです。

なお不必要に長くならないようにするため、この記事ではすでにある程度gitとGitHubに親しんでいることを前提とします。ただ、GitHubはともかくgitはObsidianを好き好んで使う人なら絶対すぐ使えるようになりますし、便利なツールです。いずれ簡単な導入記事を書く予定です。

Git管理の利点と欠点

利点

この二点です。

  • 「gitによって」バージョン管理できる
  • GitHubを使った開発フローをメモ群の作成に導入できる

例えば書籍や論文、ブログの記事など、Obsidianを使ってまとまった量の文章を作成するときはgitによるバージョン管理が非常に有用です。

また、複数人で一つのVaultを共同編集するときや、特定トピックのメモ群を育ててからVaultにマージするような使い方をする場合はGitHubを使えるのが魅力的です。

欠点

こちらも二点です。

  • ひと手間増える
  • クラウドストレージへの同期が面倒になる

git管理すると単純にひと手間増えます。gitってのは、そもそも「1行ずつきちんと管理したい」ものを扱うツールなので、自分が取っているメモに本当にgit管理が求められるのかどうかは考えてもいいと思います。

「コミット雑でもいいからとりあえずgit initしておくか」て人もいるかもしれませんが、クラウドストレージへの同期が面倒になるという点も考慮したほうがよいです。
GitHubに置く場合はファイルサイズの大きなものを扱いづらくなりますし、Google DriveやDropboxに置く場合は.git内のファイル数が多すぎて取り回しが悪くなりがちです。

参考:GitHub での大きいファイルについて – GitHub Docs

Git管理が適している使い方

利点・欠点の双方を眺めてみると、Vaultをgit管理するべき使い方は割と限られています。

  1. 論文や書籍の原稿など、そもそもgit管理すると都合がよいものだけをVault内で扱っている
  2. 一つのVaultを複数人で共同編集する

僕がぱっと思いついたのはこのくらいです。あとは、正道ではない気がしますが「Google DriveやDropboxなどクラウドストレージの容量を節約するためにGitHubにバックアップしたい」とかでしょうか。

1に関しては、別のVaultに切り出してそっちだけgit管理するのはかなりありだなと思いました。Zetterkusten的な言い方をすれば、「プロジェクトの箱」だけ、プロジェクトごとに別Vaultに切り出すイメージです。もともとプロジェクトに関連する紙は終わったらすぐ廃棄するはずなので、これでも機能するかなと。

2に関しては、僕はそういう使い方をしないのであんまり想像つかないです(すいません)。

補足:こういうときにgitほしくならない?

「git管理しない」と決めたときに迷ったことを書きます。

  • 作成日くらいはみたくなるかも => フロントマターに書くのが素直そう
  • 変更・削除の際にためらいが生まれるかも => これはかなり迷ったポイント
    • 大幅な変更を加える際は新規でメモを作成して古いバージョンにリンクを貼ることにした
    • 言い換えると、一度作成したメモに破壊的変更を加えないことにした
    • メモ間で相互にリンクを貼ることを考えるとこちらの方が素直に感じたため
  • 後から変更の意図が気になるかも => これも迷った
    • どういう文脈で書いたメモなのか知りたくなるケースは多い・・・
    • そもそもメモの取り方が悪い。メモ単体で情報が完結するように書くべき

補足:Obsidian SyncのVersion history機能

Obsidian Syncには過去のバージョンを自動で保存してくれるVersion historyの機能が存在します。

参考:Version history – Obsidian Help

ただ、自動保存されるシステムのhistory機能はけっこう難しいので(意味のある編集単位をどう区切るかわからないはずなので)、「うっかり全部消えちゃった!」とかの復元が主な目的で、Git管理うんぬんのモチベーションとはずれるのかなと思っています。

僕はObsidian Syncを使ったことがないので、実はもっと便利なのかもしれませんが・・・(だとしたら本当にすいません)

おわりに

Obsidianはローカルにmarkdownが配置されるので、ついついgit管理したくなる&実際に簡単に管理できるわけですが(obsidian-gitプラグインもある)、メリットばかりでもないかなと思ったので書いてみました。

僕の考えが及んでいない利点・欠点やユースケースもまだまだあると思いますが、これからObsidian使うぞという人の参考になるとうれしいです。

コメント