Githubを使ってObsidianを無料でクラウド管理する

情報の理解・整理

今回の記事では知識の整理に役立つツールであるObsidianを無料でクラウド管理できる方法を紹介します。方法としてはGithubを使用します。Obsidianは公式でクラウド管理の方法がありますが本来は有料です。

Githubの使用は結構テクニカルな部分が多いので、今回の内容はちょっと難易度は高いですが、一度使えるようになるとバックアップ管理やプログラム・メモの同期にとても便利です。

研究での知識管理のみならずプログラミングも少し必要となってきた人にはおススメしたい内容です。初心者向けの記事として書きますのでぜひ頑張ってみてください。

動画解説版も今後掲載予定です。

GitとGithubとは?

GitはもともとLinuxというOSのソースコードを管理するためのシステムでした。プログラミングをやる方なら分かると思いますが、コードを書いて色々変更していると何がどう変わったのか分からなくなったり、バグが発生したときに変更箇所を戻したりしたいことが出てくると思います。

そんな時に役に立つのがこのGitで定期的にこのシステムで変更履歴を管理しておくことで、前の状態に戻したり、差分を比較したり、分岐点を作ったりすることが(慣れれば)簡単にできます。

Githubというのはそれをインターネット上で共有できるようにしているシステムで、管理しているGitをそのまま複数のユーザーやデバイスで使えるようにしてくれます。

今回はこれを利用してObsidianのフォルダを複数デバイスでまるごと共有できるようにしていきます。

具体的な手順の流れ

まずは全体の流れを見ていきます。

  1. Githubにアカウントを作る
  2. Githubに空のリポジトリを作る
  3. ローカルのPCにGitをインストール
  4. SSH鍵を作成し、Githubに登録する
  5. ObsidianのVaultをGitリポジトリとする
  6. GithubとSSHで接続する
  7. データをアップロードする
  8. 適宜更新したら同期する

手順は多く見えますが、1-7までできればその後は8だけで同期が続けられます。貴重な知識を失わないためにも一度頑張ってみましょう。

ちなみに、事前の注意として知っておいてほしいのはGithubでアップロードできるファイルは基本的に50MBまで、ということです。動画や大量の画像、重たいPDFなどを使っている人やAIを用いたプラグインの設定データをバックアップしたい人は使えないので注意しましょう。

1. GitHub アカウント作成

アカウントが既にある人はスキップしてOKです。
まずはgithubの公式サイトにアクセスします。

Sign upをクリックし、ユーザー名やパスワードを登録します。このユーザー名はソースコードを今後人と共有することもあるかもしれませんので、人に見せても恥ずかしくない名前(?)にしておきましょう。また、URLにもなりますので英数字が無難です。

2. GitHub にリポジトリを作成

次にリポジトリ(フォルダのようなもの)を作っていきます。

GitHub 右上の + → New repositoryを選びます。

    作成時にリポジトリ名を聞かれますが"obsidian-vault"など分かりやすい名前にしておきましょう。

    ここが重要ですがPublic/ Privateを選ぶところがあるので、全世界に公開したくなければPrivateにしましょう。あとから一応変更もできます。

    他はいじらずそのままで基本的にはOKです。

    できたら"Create Repository"を押します。

    作成後、SSH URL というのが出てくるので右端のコピーボタンを押して控えておきましょう。例えばobsidian-vaultという名前のリポジトリなら以下のようなアドレスになっているはずです。

    git@github.com:yourname/obsidian-vault.git

    ▲画面の赤矢印の部分です

    3. Git をインストール(Windows)

    続いて管理システムであるGitをインストールします。

    • https://git-scm.com/ にアクセス
    • Download for Windowsを選びます
    • インストーラは基本すべて「Next」で OKです

    インストールができたら「スタートメニュー」>「cmd」と入れてコマンドプロンプトを選びます。そして以下のコマンドを入力します。

    git --version

    そうするとインストールがきちんとできていれば

    git version 2.44.0.windows.1

    などインストールしたバージョンが出てくるはずです。

    ちなみにここからしばらくコマンドプロンプトというCLI(コマンドラインインターフェイス)を使います。慣れない人は分かりにくいと思うのですが、大まかには

    <コマンド名> -<省略された引数>
    もしくは
    <コマンド名> --<引数>

    という感じで入力します。「引数」というのはコマンドで何を使うか渡すためのものです。今回はgitというコマンドでgitのシステムを使用し、--versionという引数でバージョンを確認したいよ、という指示をする、というようなイメージです。今後はこのgitコマンドを使用していきます。

    ちなみにコマンドプロンプトでは左端に

    C:/users/<ユーザー名>

    などが表示されていると思うのですが、これは現在自分がいるパス(PC内の位置)を示しています。次の手順でSSH鍵などファイルを作成したときは基本的にそのパスに作られますので、何となく意識しておきましょう。

    4. SSH 鍵を作成する

    SSHキーというものを作成します。これはGithubとローカルPCをつなぐための鍵で、自分のGithubに自分だけがアクセスできるようにするセキュリティとして重要な項目です。

    SSH 鍵生成

    再度コマンドプロンプトで以下を実行しましょう。

    ssh-keygen -t ed25519 -C "your_email@example.com"

    これによってGithubとつなぐための鍵となるファイルを作成します。

    色々出てきますが基本的にはEnterでそのまま進めればOKです。さらにセキュリティ重視でパスフレーズを入れたい方はここで入力します。

    " "の部分はコメント欄なので何を入れてもいいのですが、Githubで使っているアドレスを入れておくと何のアカウントと対応した鍵か分かりやすいです。

    そのまま入力するとホームディレクトリに以下のファイルが作られます。

    生成されるファイル:

    ~/.ssh/id_ed25519
    ~/.ssh/id_ed25519.pub

    これが鍵になりますので次はこの鍵をGithubに登録します。

    SSH鍵を GitHub に登録

    SSH鍵を以下のコマンドで表示します。typeはcmdで使われるファイル内容表示のコマンドです。

    type ~/.ssh/id_ed25519.pub

    表示された 1行すべてをコピーしておきます。見せられない部分が多くて忍びないですが、実際の画面だとこんな感じです。ssh-ed25519からすべてコピーします。

    続いてGitHubを開いてキーの登録画面に今コピーしたものをすべて貼り付けします。以下の手順で登録画面を開いて進めます。

    • 右上アイコン → Settings
    • SSH and GPG keysを選ぶ
    • New SSH keyを押す
    • Title:例 My PC、など名前を付けます
    • Key type: Authentication keyのままでOKです
    • Key:今コピーした公開鍵を貼り付けします
    • Add SSH keyを押して完了です

    これでローカルPCとGithubの接続の準備ができました。

    SSH 接続テスト

    コマンドプロンプトで以下のコマンドを入れてみましょう。

    ssh -T git@github.com

    以下が出れば成功です。

    Hi <yourname>! You've successfully authenticated...

    ここまで順調に進められたらあとはもう少しです。

    Obsidian Vault を Git リポジトリ化

    続いてはObsidianでクラウド管理したいフォルダに移動し、Gitのシステムを使えるようにします。

    Vault フォルダへ移動

    cdはディレクトリを移動するためのコマンドです。自分のObsidianのフォルダのパスをコピーし、以下のようにcdの後につけて入力して移動します。

    cd "C:\Users\YourName\Documents\Obsidian\MyVault"

    そうすると左側のC:/users/...>のような文字がObsidianのフォルダのパスに変わるはずです。ここを間違えると全然別なフォルダがアップロードされることにもなりかねないのでよく注意してください。

    Git 初期化

    無事左側が使いたいフォルダのパスになっていることを確認したら、このフォルダでgitを使えるようにします。

    git init

    これで準備ができます。

    .gitignore を作成(重要)

    ここでgit管理を始める前に.gitignoreというファイルを設定します。これはgitによるバージョン管理をしないファイルを予め指示しておくものです。

    なぜこれが重要かと言いますと

    • パスワードだとかAPIキーとかセキュリティ上絶対にアップロードしてはいけないファイルを外す
    • 50MBを超えるファイルが含まれている場合は外す

    といったことができるからです。先に設定しておかないとそのままアップロードされた状態になってしまいますので、必ず最初にやりましょう。

    .gitignoreというファイル名であればgitは自動的に認識してくれますので、以下の様に入力してメモ帳などのテキストエディタでファイルを作ります。

    notepad .gitignore

    例えば私は以下の様な例で使っています。*はワイルドカードでいずれのファイル名も含まれるという意味です。

    .obsidian/
    *.pdf
    *.mp4
    *.env

    .obsidian/というフォルダはobsidian用のvaultには必ず含まれていますが、設定やプラグインのファイルが入っています。基本的には設定までは不要と思いますし、ファイルサイズが大きいこともあるので、なしにしておくのが無難だと思います。

    GitHub リポジトリと接続

    さていよいよGithubとの接続です。以下のコマンドでyournameのところは自分のgithubのユーザー名に変えて、入力してみましょう。

    git remote add origin git@github.com:yourname/obsidian-vault.git

    確認で以下のコマンドを入れると自分の同期したいgithubのリポジトリが出てくるはずです。

    git remote -v

    ここまでできれば、①ローカルPCのフォルダのgit管理が可能、②Githubでデバイス間共有が可能、になっています。

    初回アップロード(push)

    最後に初回のアップロードをしてみます。

    git add .

    これはgitで変更のあったファイルをすべて反映させるときのコマンドです。最後についている.(ピリオド)はすべてを指します。このaddで反映させたいファイルを選びます。

    次にコミットします。これで実際にgitに変更を反映させます。

    git commit -m "Initial commit of Obsidian vault"

    -m " "の部分はどんな変更をしたのか好きなコメントを入れられますので、何をどう変更したのか書いておくと良いです。

    続いてmain ブランチ(分岐点の名前)に設定します。なくても多分問題ないことが多いですが念のためです。

    git branch -M main

    最後にpushというコマンドを使ってGitHub にアップロードします。

    git push -u origin main

    これでGitHubのリポジトリページにアクセスし、Vault の中身が見えれば成功です。お疲れさまでした。

    初回後の同期方法

    作業前(GitHub → PC)のときは、最新githubのデータをpullコマンドで引っ張ってくることができます。

    git pull

    作業後(PC → GitHub)のときは先ほどの手順同じです。branchの移動コマンドのみ不要です。

    git add .
    git commit -m "<好きなメモを書く>"
    git push

    まとめ

    これでObsidianの中身を他のデバイスでも共有・同期・編集ができるようになります。Githubはモバイル版アプリもありますし、Githubから直接編集もできますのでどこからでも使いやすいです。

    いつでもどこでも自分のメモを参照し、編集できるようになりますのでぜひ活用してみてください。

    補足

    ちなみにこれを書いた後に気づいたのですが、Obsidian用のCommunity pluginに"Git"というプラグインがあるようで、CLIを使わなくてもgit管理できるようにしてくれているようです。ただ、どうしてもプラグインは個人の作成になるので、自分で理解して管理できたほうが個人的には安心できるので、私は使っていません。今回紹介した内容をプラグインで楽にできるようにしたものですので、いずれにしても基本的な仕組みは理解しておくと良いと思います。

    コメント

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