我一直使用Dropbox來同步Obsidian的筆記,但因為使用的是Dropbox Basic方案,有使用設備的限制,因此在Android手機上是使用DropSync App來同步筆記檔案。但看到Obsidian Git外掛已經很穩定,且行動設備(Android、iOS與iPad)也能在不安裝Git本地端的狀況下直接存取Git repository,因此開始將儲存放由雲端硬碟變更為Git client。以是針對不同使用狀況下的操作步驟。
- 從零開始:在Sandbox裡建立Git與Obsidian的系統與儲存庫
- 現有筆記儲存庫加上Git環境以同步到GitHub
- 行動設備安裝使用Git外掛的Obsidian
- 其他Git操作,如 .gitignore 添加不同步資料夾或檔案
遠端使用的是GitHub。
行動設備使用Git外掛時:遠端網址的通訊協定必須使用 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,並保存到密碼管理工具裡
gh|700
▼ 使用 Fine-grained token 時要將Contents的存取改成讀寫皆可
gh|871
-
點擊右上角的【+】號→點擊【New repository】以建立Git儲存庫,命名並勾選為私用(Private)→【Create repository】
gh|700
-
點選HTTPS,並複製網址到剪貼簿,網址格式是:
https://github.com/account/repo-name.gitgh|700
-
點擊步驟6 HTTPS下方的creating a new file,輸入任意內容後按【Commit changes...】
gh|700
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網址後按Enter
-
輸入儲存庫資料夾
personal-notes後按Enter,Git外掛預設在現有儲存庫資料夾建立子目錄(即C:\notes\personal-notes\) -
輸入需要的儲存庫深度,按Enter即可
-
彈出連線至GitHub對話窗,點擊Token,再貼入步驟1.1複製的Personal Access Token後按【Sign in】
-
Clone成功後重啟Obsidian
gh|300
-
在左下角點擊儲存庫清單→【Manage vaults...】→Open,選用
C:\notes\personal-notes,使用Git控管的筆記儲存庫
gh|500
-
點擊左側邊的齒輪【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,啟動Obsidian,開啟上一步驟的儲存庫資料夾
- 開啟命令面板執行Git pull測試
4. 可能遇見的問題
4.1. Windows: Obsidian隔段時間就彈出Username、Password的輸入prompt
除錯步驟:
- 輸入下列命令確認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. 教學影片
##