我一直使用Dropbox來同步Obsidian的筆記,但因為使用的是Dropbox Basic方案,有使用設備的限制,因此在Android手機上是使用DropSync App來同步筆記檔案。但看到Obsidian Git外掛已經很穩定,且行動設備(Android、iOS與iPad)也能在不安裝Git本地端的狀況下直接存取Git repository,因此開始將儲存放由雲端硬碟變更為Git client。以是針對不同使用狀況下的操作步驟。

  1. 從零開始:在Sandbox裡建立Git與Obsidian的系統與儲存庫
  2. 現有筆記儲存庫加上Git環境以同步到GitHub
  3. 行動設備安裝使用Git外掛的Obsidian
  4. 其他Git操作,如 .gitignore 添加不同步資料夾或檔案

遠端使用的是GitHub。

通訊協定:https

行動設備使用Git外掛時:遠端網址的通訊協定必須使用 HTTPS,而不要使用SSH

1. 從零開始

1.1. GitHub設定

  1. 建立GitHub帳號

  2. 點擊頭像→【Settings】→左側最後一項【Developer Settings】→【Tokens (classic)】→【Generate new token】【Generate new token (classic)】

  3. 依序輸入資料,勾選repo欄位,點擊最下方的【Generate token】

    1. 期限:預設是30天,可改為無期限
  4. 複製產生出的Access token,並保存到密碼管理工具裡

    gh|700 gh|700

    ▼ 使用 Fine-grained token 時要將Contents的存取改成讀寫皆可
    gh|871 gh|871

  5. 點擊右上角的【+】號→點擊【New repository】以建立Git儲存庫,命名並勾選為私用(Private)→【Create repository】

    gh|700 gh|700

  6. 點選HTTPS,並複製網址到剪貼簿,網址格式是:https://github.com/account/repo-name.git

    gh|700 gh|700

  7. 點擊步驟6 HTTPS下方的creating a new file,輸入任意內容後按【Commit changes...】
    gh|700gh|700

1.2. Sandbox操作

Windows/macOS Git Client安裝參考
  1. Windows obsidian-git-tut-windows (逐步圖示)
  2. macOS: Git on macOS

  1. 下載並安裝[Git client](Git - Downloads),Windows預設會安裝到 C:\Program Files\Git,路徑會加入PATH環境變數。皆使用預設值即可

  2. 下載並安裝Obsidian

  3. 啟動Obsidian後,建立啟始儲存庫:Create→Vault name輸入 notes,Location選用C:\,則儲存庫資料夾是C:\notes\

  4. 在Obsidian裡點擊左側邊的齒輪【Settings】→【Community plugins】→【Turn on community plugins】→【Browse】→搜尋Git→找到Git後按【Install】→【Enable】

  5. Ctrl/Cmd+P在命令面板裡輸入clone,執行Git: Clone an existing remote repository

  6. 貼入步驟1.1複製的GitHub網址後按Enter

  7. 輸入儲存庫資料夾 personal-notes後按Enter,Git外掛預設在現有儲存庫資料夾建立子目錄(即 C:\notes\personal-notes\)

  8. 輸入需要的儲存庫深度,按Enter即可

  9. 彈出連線至GitHub對話窗,點擊Token,再貼入步驟1.1複製的Personal Access Token後按【Sign in】

  10. Clone成功後重啟Obsidian
    gh|300 gh|300

  11. 在左下角點擊儲存庫清單→【Manage vaults...】→Open,選用C:\notes\personal-notes,使用Git控管的筆記儲存庫
    gh|500 gh|500

  12. 點擊左側邊的齒輪【Settings】→【Community plugins】→【Turn on community plugins】→【Browse】→搜尋Git→找到Git後按【Install】→【Enable】→【Options】

    1. Auto commit-and-sync interval (minutes):預設是 0 可改成想要同步的間隔分鐘數,如30
    2. 往下找到Author name for commit與Author email for commit,輸入GitHub的帳號名稱與Email
  13. 左側邊工具欄裡會出現【Open Git source control】圖示,點擊後右側邊欄會出現Git資訊面板

  14. 本地的修改在自動同步間隔時間內會自動同步,或在Git面板上方按 pull 接取GitHub上的檔案,或按 push 將本地新增或修改的內容推至GitHub

An image to describe post

2. 已有儲存庫加上Git控管

  1. 重新啟動cmd.exe
  2. 在命令提示字元或終端機裡依序執行下列指令
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
  1. 啟動Obsidian,後續同步驟1.2 第12點之後操作

3. 行動設備安裝Obsidian

  1. 用USB線連接電腦與行動設備,啟用檔案傳輸
  2. 將電腦裡的筆記儲存庫資料夾複製到行動設備的根目錄
  3. 安裝Obsidian,啟動Obsidian,開啟上一步驟的儲存庫資料夾
  4. 開啟命令面板執行Git pull測試

4. 可能遇見的問題

4.1. Windows: Obsidian隔段時間就彈出Username、Password的輸入prompt

除錯步驟:

  1. 輸入下列命令確認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

6. 教學影片

##