私はDropboxを使ってObsidianのノートを同期していましたが、Dropbox Basicプランを使用していたため、デバイス数に制限があり、AndroidスマートフォンではDropSync Appを使用してノートファイルを同期していました。しかし、Obsidian Gitプラグインが安定してきており、モバイルデバイス(Android、iOS、iPad)でもGitをローカルにインストールせずにGitリポジトリに直接アクセスできるようになったため、ストレージをクラウドドライブからGitクライアントに変更し始めました。以下は、異なる使用状況での操作手順です。
- ゼロからスタート:SandboxでGitとObsidianのシステムとリポジトリを構築する
- 既存のノートリポジトリにGit環境を追加してGitHubと同期する
- モバイルデバイスにGitプラグイン付きのObsidianをインストールして使用する
- その他のGit操作(.gitignoreを使用して同期しないフォルダやファイルを追加するなど)
リモートリポジトリにはGitHubを使用します。
モバイルデバイスでGitプラグインを使用する場合:リモートURLの通信プロトコルはHTTPSを使用し、SSHは使用しないでください
1. ゼロからスタート
1.1. GitHub設定
- GitHubアカウントを作成する
- アバターをクリック→【Settings】→左側の最後の項目【Developer Settings】→【Tokens (classic)】→【Generate new token】【Generate new token (classic)】
- 順番にデータを入力し、repoフィールドにチェックを入れ、一番下の【Generate token】をクリック
- 期限:デフォルトは30日ですが、無期限に変更可能
- 生成されたAccess tokenをコピーし、パスワード管理ツールに保存する
▼ Fine-grained token を使用する場合、Contentsのアクセスを読み書き可能に変更する必要があります
- 右上の【+】マークをクリック→【New repository】をクリックしてGitリポジトリを作成し、名前を付けてPrivateにチェックを入れる→【Create repository】
- HTTPSを選択し、URLをクリップボードにコピーする。URLの形式は:
https://github.com/account/repo-name.git
- ステップ6のHTTPS下の「creating a new file」をクリックし、任意の内容を入力して【Commit changes...】を押す
1.2. Sandbox操作
- Windows obsidian-git-tut-windows (ステップバイステップの図解)
- macOS: Git on macOS
-
[Git client](Git - Downloads)をダウンロードしてインストールする。Windowsのデフォルトインストール先は
C:\Program Files\Gitで、パスは自動的にPATH環境変数に追加されます。すべてデフォルト値のままで構いません -
Obsidianをダウンロードしてインストールする
-
Obsidianを起動後、初期リポジトリを作成:Create→Vault nameに
notesと入力し、LocationでC:\を選択すると、リポジトリフォルダはC:\notes\になります -
Obsidianで左側の歯車アイコン【Settings】→【Community plugins】→【Turn on community plugins】→【Browse】→Gitで検索→Gitを見つけたら【Install】→【Enable】をクリック
-
Ctrl/Cmd+Pを押してコマンドパレットでcloneと入力し、Git: Clone an existing remote repositoryを実行
-
ステップ1.1でコピーしたGitHub URLを貼り付けてEnterを押す
-
リポジトリフォルダ名として
personal-notesを入力してEnterを押す。Gitプラグインはデフォルトで既存のリポジトリフォルダ内にサブディレクトリを作成します(つまりC:\notes\personal-notes\) -
必要なリポジトリの深さを入力し、Enterを押す
-
GitHubへの接続ダイアログが表示されたら、Tokenをクリックし、ステップ1.1でコピーしたPersonal Access Tokenを貼り付けて【Sign in】をクリック
-
Cloneが成功したらObsidianを再起動する
-
左下のリポジトリリストをクリック→【Manage vaults...】→Open、
C:\notes\personal-notesを選択し、Git管理下のノートリポジトリを使用する
-
左側の歯車アイコン【Settings】→【Community plugins】→【Turn on community plugins】→【Browse】→Gitで検索→Gitを見つけたら【Install】→【Enable】→【Options】をクリック
- Auto commit-and-sync interval (minutes):デフォルトは0ですが、同期したい間隔(分)に変更できます。例えば30など
- 下にスクロールしてAuthor name for commitとAuthor email for commitを見つけ、GitHubのアカウント名とEmailを入力
-
左側のツールバーに【Open Git source control】アイコンが表示されます。クリックすると右側にGit情報パネルが表示されます
-
ローカルの変更は自動同期間隔内に自動的に同期されますが、Gitパネル上部のpullボタンを押してGitHubのファイルを取得したり、pushボタンを押してローカルで追加または変更した内容をGitHubにプッシュしたりすることもできます
2. 既存のリポジトリにGit管理を追加する
- cmd.exeを再起動する
- コマンドプロンプトまたはターミナルで以下のコマンドを順番に実行する
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/account/repo-name.git
git push -u origin main
- Obsidianを起動し、その後はステップ1.2の12番目以降の操作と同じです
3. モバイルデバイスにObsidianをインストールする
- USBケーブルでコンピュータとモバイルデバイスを接続し、ファイル転送を有効にする
- コンピュータ内のノートリポジトリフォルダをモバイルデバイスのルートディレクトリにコピーする
- Obsidianをインストールし、起動後、前のステップでコピーしたリポジトリフォルダを開く
- コマンドパレットを開いてGit pullを実行してテストする
2025/3/17 ViscousPot/GitSync: Android mobile git client for syncing a repository between remote and a local directory]] 🔗)
4. 発生する可能性のある問題
4.1. Windows: Obsidianが一定時間ごとにUsername、Passwordの入力プロンプトを表示する
デバッグ手順:
- 以下のコマンドを入力してGit Credential Managerが正しく設定されているか確認する
git config credential.helper
managerが返されない場合は、[Git client](Git - Downloading Package)の最新版を再インストールすることをお勧めします
4.2. Windows: アカウントのアクセス権限の問題が発生する
ノートリポジトリフォルダを安全なディレクトリに追加してみてください:
git config --global --add safe.directory あなたのリポジトリフォルダ
5. 💡 関連リンク
💡 解説記事: https://jdev.tw/blog/8740/
💡 English: https://quaily.com/dashboard/lists/1588/posts/9360
💡 日本語: https://quaily.com/dashboard/lists/1589/posts/9361
✅ obsidian-git GitHub: https://github.com/Vinzent03/obsidian-git
✅ 参考 Getting started with Git: https://docs.github.com/en/get-started/learning-to-code/getting-started-with-git
✅ git-changelog GitHub: https://github.com/shumadrid/obsidian-git-changelog
✅ もう一つのGitプラグイン、Git clientのインストールが不要: github-gitless-sync GitHub: https://github.com/silvanocerza/github-gitless-sync