見出し画像

[Obsidian] 結局行き着いた .gitignore

'.obsidian' 配下の様々なファイルの更新状況を、Mac および iPhone で git と Working Copy を巧みに使いながら散々チェックしました。

結果、次のような '.gitignore' ファイルができあがりました。

# to exclude Obsidian's settings (including plugin and hotkey configurations)
# .obsidian/

# OR only to exclude workspace cache
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/*-plugins.json
.obsidian/plugins/recent-files-obsidian/data.json
.obsidian/plugins/obsidian-git/data.json
.obsidian/appearance.json

# exclude business notes
4[0-9]_*/

# Add below lines to exclude OS settings and caches
.trash/
.DS_Store

素直に '.obsidian' 以下を commit の対象としなければ、merge が頻繁に訪れたり、ファイルが行方不明になることはありませんでした。それでも、わたしは自動的にプラグインは同期してほしかった。と言うことで、ここへ行き着きました。

詳解しましょう。言わずもがな、のところは放置します。

Obsidian 固有のファイル

デバイス毎のワークスペース情報は同期させない

.obsidian/workspace.json

.obsidian/workspace-mobile.json

'workspace.json' が PC 用で、'workspace-mobile.json' が iOS などモバイル用です。このワークスペース情報は、デバイスごとに毎度変わる情報です。これらが共有されるのは良いことがありません。と言うことでこれらのファイルは無視です。

デバイス毎のプラグインの enable/disable は無視

.obsidian/*-plugins.json

'core-plugins.json' が Core のプラグインリスト。'community-plugins.json' が Community プラグインリスト。これらを指定しています。

最初は対象にしていたのですが、デバイスによって使える・使えないがあったりして、強制的に disable されたりして不都合が多いです。終いにファイル消えました。
ですから、これらのファイルも無視。

固有の表現まわりの設定も無視

.obsidian/appearance.json

一緒にしてもいいやと思ったら、どうも OS 毎に異なる仕様があるようです。このファイルもぎったんばっこんして、うっとうしかったので無視。

プラグイン毎のファイル

デバイス毎の recent-files も無視

.obsidian/plugins/recent-files-obsidian/data.json

これも当然と言えば当然ですね。デバイスごとに見ているファイルは異なりますから、設定だけ同期することにして、最近見たファイルのリストだけ無視。

obsidian-git も iOS, iPad OS では使わないので無視

.obsidian/plugins/obsidian-git/data.json

ゆくゆくは対象とする日がやってくるかもしれませんが、現時点では Working Copy が全てやってくれています。なので、デバイス毎に設定するよう、このファイルも無視しています。

ここまでがいわゆる設定ファイル系です。

同期されたくないノート

仕事のファイルも無視というか同期されたら困る

4[0-9]_*/

最後は、仕事用のフォルダ群です。

私のディレクトリ構成上だからということですが、ルートフォルダの頭 2桁を数字にしてフォルダを作っています。40番台のフォルダには仕事用のノートを入れるようにしています。このフォルダ構成もまだ確定はしていませんが、仕事関係は40番台としておけば、今後もそう困ることもないだろうと考えています。

ちなみに、今はこんな構成です。Salesforce っぽいですね。各フォルダの下に想定されるようなフォルダができて、更にその下に日付のファイルを作るようにしています。それらがいわゆる Activity です。

41_Accounts/
42_Opportunities/
43_Contacts/

このあたりは、まだどのようにするのが良いか手探りのところなので、良さげな構成ができたら、また共有します。

と言うことで、私の行き着いた Obsidian を git 運用するための .gitignore 集でした。

#obsidian


貴方がサポートしてくれると、私が幸せ。 私が幸せになると、貴方も幸せ。 新しいガジェット・ソフトウェアのレビューに、貴方の力が必要です。