LANMA AGENT CLASS · L3 補充教材
補充 5 / 5
進階 · 建議先用得順手再來

有記憶的資料夾 用 Git 讓第二大腦跟著你跨裝置

公司一台、家裡一台,第二大腦要怎麼保持同一份?這篇教你用 Git ——一種「會記得每次改動」的資料夾——把 vault 在兩台電腦之間同步,順便得到完整的版本歷史與異地備份。

TL;DR

  1. Git = 有記憶的資料夾。每次存檔(commit)就是幫整個 vault 拍一張快照,隨時可以翻回去。
  2. 在 GitHub 開一個私有(Private)倉庫當中繼站,兩台電腦各自對它上傳、下載。
  3. 每天的動作只有兩個:開工前 git pull、收工前 git push。
這篇是進階選修。如果你現在連 vault 都還在摸索,請先把補充 4 的觀念用順手,讓第二大腦真的每天有東西進出,再回來做同步。同步是為了「已經在用」的東西,不是為了「打算開始用」的東西。
// 01

Git 是什麼?一個會記得每次改動的資料夾

先把工程術語翻成白話:

整個機制長這樣——注意:不是「檔案存在雲端、電腦只是看」,而是每一台都有一份完整副本,連歷史都完整。這正是課程說的「檔案櫃必須是你的」:就算 GitHub 明天關站,你兩台電腦裡的東西一個字都不會少。

Git 跨裝置同步的架構圖 電腦 A 與電腦 B 各自持有 vault 的完整副本,中間透過 GitHub 私有倉庫互相 push 與 pull。 我的第二大腦 完整副本 + 全部歷史 電腦 A(公司) 白天的會議書記 GitHub 私有倉庫 Private 中繼站(不是唯一一份) 絕對不可以設成 Public push 上傳 pull 下載 我的第二大腦 完整副本 + 全部歷史 電腦 B(家裡) 晚上的成長教練 push 上傳 pull 下載 三個地方各有一份完整的第二大腦——這就是備份,也是自由。
電腦 A ⇄ GitHub 私有倉庫 ⇄ 電腦 B。上傳叫 push、下載叫 pull,兩台電腦永遠只透過中繼站對話,不會互相直接連線。
// 02

值得學嗎?先把好處與代價攤開來看

✔ 為什麼值得學

  • ① 免費。Git 本身免費,GitHub 個人開私有倉庫也不用錢。不必再多一筆訂閱。
  • ② 有版本歷史,誤刪救得回來。不小心刪掉整個資料夾、AI 把筆記改壞了,都能翻回上一張快照。
  • ③ AI 動過什麼,diff 一看就知道。diff=兩個版本的逐行差異,新增的一行、刪掉的一行都標得清清楚楚。這正是課程講的第三件事:驗收——你怎麼帶人,就怎麼帶 AI:講清楚、給邊界、驗收。
  • ④ 順便就是異地備份。公司電腦、家裡電腦、GitHub 上各一份,三份同時消失的機率極低。

△ 代價(先知道再決定)

  • ① 要處理衝突。兩台電腦改到同一份筆記的同一段,Git 不會幫你決定留哪個,得你自己選。(第 07 節教你怎麼看)
  • ② 初次設定較麻煩。裝 Git、開倉庫、接起來,第一次大概要花半小時到一小時。之後每天只剩兩個指令。
  • ③ 不適合塞大量影片、大圖。Git 會為每一個版本各存一份,大檔案改幾次就把倉庫撐爆。大素材請放雲端硬碟,vault 裡只放連結。
一句話判斷:如果你只有一台電腦、也不在意版本歷史,那雲端硬碟就夠了,別自找麻煩。會需要 Git 的人通常是——「我要在兩台電腦上工作」+「我想確認 AI 到底改了什麼」。
// 03

動手做:三段就接起來

下面所有黑底視窗都是終端機(Terminal)——在裡面打字下指令的介面。macOS 用「終端機 Terminal」,Windows 用「Git Bash」或「命令提示字元」。黃色的部分是要換成你自己的東西,灰色 # 開頭的是說明文字,不用打。

1
STAGE 01 · PREPARE準備:裝 Git、開一個私有倉庫
這一步在幹嘛:先確認你的電腦裡有 Git 這個工具,再到 GitHub 上準備好那個「中繼站」。這兩件事都只做一次。

① 確認 Git 裝了沒

打開終端機,貼上這行。有看到版本號就代表已經有了。

終端機 — 檢查 Git
$ git --version
git version 2.39.5   # 有出現版本號=已經裝好了

macOS:如果跳出「要安裝命令列開發者工具嗎」的視窗,按「安裝」讓它裝完 Xcode 命令列工具即可,裝完再打一次上面那行。
Windows:如果說「不是內部或外部命令」,到 Git 官網下載安裝 Git for Windows,一路預設下一步,裝完把終端機關掉重開再試。

② 告訴 Git 你是誰

每張快照都會署名,所以要先設定名字與 Email(只需設一次,之後所有倉庫共用)。

終端機 — 自我介紹
$ git config --global user.name "你的名字"
$ git config --global user.email "你的Email"

③ 在 GitHub 開一個私有倉庫

到 GitHub 註冊/登入,建立一個新的倉庫(New repository):

  • 名稱可以取 second-brain 之類,自己看得懂就好。
  • Visibility 一定要選 Private(私有)。這是本篇唯一一條紅線,第 08 節會再講一次為什麼。
  • 初始化選項(README、.gitignore、License)全都不要勾——保持全空,等一下才不會跟你電腦上的內容打架。
  • 建好之後,把頁面上那串倉庫網址複製起來備用(形如 https://github.com/你的帳號/second-brain.git)。
2
STAGE 02 · FIRST MACHINE第一台電腦:把現有的 vault 送上去
這一步在幹嘛:把你已經在用的那個 vault 資料夾交給 Git 管理,拍下第一張快照,然後推到 GitHub。做完之後,這台電腦就是「有內容的那一台」。

① 先走進 vault 資料夾

cd=change directory,切換到某個資料夾。小技巧:打完 cd (記得留一個空格),直接把 vault 資料夾從 Finder/檔案總管拖進終端機視窗,路徑會自動填好,不用自己打。

終端機 — 進入 vault
$ cd /你的/vault/路徑/我的第二大腦
$ pwd                 # 印出目前位置,確認站對地方了
/Users/you/Documents/我的第二大腦

② 開始用 Git 管這個資料夾

git init=在這個資料夾裡開一本帳,從現在起它的每次改動都會被記錄。這行只會多出一個隱藏的 .git 資料夾,你的筆記一個字都不會動。

終端機 — 建立倉庫
$ git init
Initialized empty Git repository in .../我的第二大腦/.git/

③ 寫 .gitignore(先做這一步,別跳過)

有些檔案不該同步,要先列進黑名單,不然兩台電腦會天天打架。完整內容與逐行理由在下一節 // 04,請先過去把檔案建好再回來。

④ 拍下第一張快照,推上 GitHub

四個指令的白話:add .=把這個資料夾裡所有改動挑進待存區;commit -m=存檔並附一句說明;branch -M main=把主線命名為 main(跟 GitHub 一致);remote add origin=告訴 Git 中繼站在哪;push -u=上傳並記住這條路,之後只要打 git push。

終端機 — 第一次上傳
$ git add .
$ git commit -m "第一版:我的第二大腦"
$ git branch -M main
$ git remote add origin https://github.com/你的帳號/second-brain.git
$ git push -u origin main
Enumerating objects... done.
branch 'main' set up to track 'origin/main'.

第一次 push 會請你登入 GitHub,照著終端機或瀏覽器跳出的官方登入流程走完即可。推完之後回 GitHub 網頁重新整理,應該就會看到 0_收件匣、1_專案、AGENTS.md 這些熟悉的東西躺在上面了。

3
STAGE 03 · SECOND MACHINE第二台電腦:整包拉下來
這一步在幹嘛:在另一台電腦上把整個第二大腦(含全部歷史)複製一份下來,再用 Obsidian 打開它。從此兩台電腦共用同一份大腦。

① clone:整包複製下來

clone=複製一份。先 cd 到你想放置的位置(例如「文件」資料夾),再執行。它會自動建立一個同名資料夾。

終端機 — 第二台電腦
$ cd ~/Documents
$ git clone https://github.com/你的帳號/second-brain.git
Cloning into 'second-brain'... done.

② 用 Obsidian 打開它

打開 Obsidian → 開啟資料夾作為 vault(Open folder as vault) → 指到剛剛 clone 下來的那個資料夾。因為 vault 就只是一個普通資料夾,這一步不需要匯入、不需要轉檔,打開就是。

這台電腦的外掛可能要重裝、Claudian 的 CLI 路徑要重填——這是刻意的,因為那些設定是「這台電腦的」,我們在 .gitignore 裡把它排除了。筆記內容才是要同步的資產。

③ 之後每天就兩個動作

見下一頁的「每日節奏」——開工前 pull、收工前 push,養成習慣就不會出事。

// 04

.gitignore:先講好哪些檔案不要同步

.gitignore=一張黑名單,寫在裡面的檔案 Git 會完全當作沒看到。在 vault 的最上層(跟 AGENTS.md 同一層)建立一個叫 .gitignore 的檔案,把下面整段貼進去存檔。

檔名以點開頭的檔案在 Finder/檔案總管裡預設是隱藏的。最省事的做法:在 Obsidian 裡請 AI 幫你建(「在 vault 根目錄建立 .gitignore,內容如下……」),或用 VS Code、記事本另存新檔。

.gitignore — 整段複製
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/plugins/*/data.json
.claudian/
.trash/
.DS_Store
Thumbs.db

每一行為什麼要排除:

這一行它是什麼為什麼不同步
.obsidian/workspace.json 記錄「你這台電腦開了哪些分頁、面板怎麼排」。 最重要的一行。兩台電腦的螢幕大小、開的分頁一定不一樣,不排除的話每天都在為它打架。
.obsidian/workspace-mobile.json 同上,但是手機/平板版的版面配置。 理由一樣。手機版面跟桌機版面本來就該長得不同。
.obsidian/plugins/*/data.json 各個外掛的個人設定。*=任何外掛。 裡面常存著「這台電腦的」路徑,例如 Claudian 的 Codex CLI 路徑。同步過去反而會把另一台弄壞。
.claudian/ Claudian 的對話暫存資料夾。 那是工作過程,不是成果。成果早就寫進 9_AI產出 了,暫存不必跨裝置。
.trash/ Obsidian 的垃圾桶。 你都刪掉了,沒必要再上傳一份、還讓另一台跟著長出垃圾桶。
.DS_Store macOS 偷偷放在每個資料夾裡的排列記錄。 純系統垃圾檔,每開一次資料夾就變一次,會讓你的歷史紀錄充滿雜訊。
Thumbs.db Windows 的圖片縮圖快取。 同上,系統自己生的暫存檔,沒有保存價值。
注意 .obsidian/ 本身要留著。我們只排除裡面那幾個「跟這台電腦綁定」的檔案,主題、外掛清單、你的偏好設定仍然值得同步——這樣第二台電腦打開時,外觀和你熟悉的一模一樣。
// 05

每日節奏:只有兩個動作

接好之後,Git 的日常就縮成一句口訣:開始前先拉,離開前先推。把它當成進辦公室開燈、離開時關燈一樣的固定動作。

開工前

先把另一台的改動拉下來

坐下來、還沒開始打字之前先執行。這一步能避免九成的衝突。

$ git pull
收工前

把今天的成果推上去

合上筆電之前執行。說明文字寫給未來的自己看,寫「今天」也行,寫「整理完客戶 A 會議記錄」更好。

$ git add . && git commit -m "今天" && git push
&& 是什麼?它是「前一個成功了就接著做下一個」的意思。所以那一長串等於:把所有改動挑起來 → 存檔並寫說明 → 上傳。你也可以拆成三行分開打,效果一樣。

想確認 AI 到底動了什麼?

在 commit 之前先看一眼差異,這就是課程講的「驗收」動作實體化:

終端機 — 驗收
$ git status         # 哪些檔案被改了、哪些是新增的
$ git diff           # 逐行看:+ 是新增的行,- 是刪掉的行
$ git log --oneline  # 一行一張快照,看過去做過什麼

離開檢視畫面的方法:diff 和 log 內容太長時會進入翻頁模式,用上下鍵捲動,按 q 離開。

// 06

自動化:讓 Obsidian 自己 pull 和 push

指令打熟之後,可以把它交給外掛做背景作業。Obsidian 社群外掛裡有一個就叫 Git(外掛 id obsidian-git,作者 Vinzent03)。

安裝路徑:設定(Settings)→ 社群外掛(Community plugins)→ 瀏覽(Browse)→ 搜尋 Git → 安裝(Install)→ 啟用(Enable)。若你的 vault 還沒開放社群外掛,要先關閉安全模式/Turn on community plugins。

它能幫你做的,就是把上一節那兩個動作變成自動的:

設定 → 社群外掛 → Git(示意)
每 N 分鐘自動 commit
定時幫整個 vault 拍快照,不必自己記得存檔。
10 分鐘
啟動時自動 pull
打開 Obsidian 就先把另一台的改動拉下來。
關閉時自動 push
關掉 Obsidian 前自動上傳。(桌面版才有)
commit 說明樣板
自動帶上日期時間,省得每次想文案。
vault backup: {{date}}

※ 以上為功能示意,實際選項名稱與版面以你安裝到的版本為準。

⚠ 行動裝置的限制,先講清楚

這個外掛在手機/平板上的 Git 支援相當有限,官方說明直接寫著行動版的 Git 實作很不穩定、不建議在行動裝置上使用;限制包含不支援 SSH 登入、倉庫大小受記憶體限制等,記憶體較小的裝置可能當掉。

實務建議:把桌機當主力,手機只用來讀、用來丟東西進 0_收件匣。iOS 上若真的要跑 Git,常見做法是另外搭一個支援 Git 的 App(例如 Working Copy)來處理同步;行動端的同步方式請自行評估,不要把它當成第二大腦的主要保命繩。

// 07

衝突了怎麼辦?非工程師版心法

最高原則:一次只在一台裝置編輯。離開前 push,開始前 pull。
做到這一條,你可能一整年都不會遇到衝突。衝突幾乎都發生在「忘了 push 就換另一台繼續寫」。

真的衝突了也不用慌。Git 的處理方式其實很老實:它不會替你決定,而是把兩個版本原封不動都留在檔案裡,然後標記起來讓你自己選。打開那個檔案,你會看到這樣的東西:

<<<<<<< HEAD
- 客戶 A 決議:報價延到下週三提出。
=======
- 客戶 A 決議:報價延到下週五提出,先補一版簡報。
>>>>>>> origin/main

改完後的樣子,就是一份乾淨的筆記:

- 客戶 A 決議:報價延到下週五提出,先補一版簡報。
小提醒:衝突發生時,Git 只會在「同一個檔案的同一段」上卡住,其他檔案都正常同步了。所以請別整包刪掉重來——只要處理那幾個被標記的檔案就好。真的亂了,記得你手上還有歷史:git log --oneline 找到好的那張快照,永遠回得去。
// 08

紅線:倉庫一定要是 Private

⛔ 這一條做錯,等於把公司內部資料丟上網

建立 GitHub 倉庫時,Visibility 一定要選 Private(私有)。選成 Public(公開)的話,全世界任何人——包含搜尋引擎——都看得到你的第二大腦。

而你的第二大腦裡有什麼?會議記錄、人物卡、報價、客戶的來龍去脈、老闆說過的話。這些東西一旦上網,撤不回來。
建立時如果不小心選錯,到倉庫的 Settings 裡可以改成 Private——但只要曾經公開過,就當作已經外流,該通知的、該換的(例如任何寫在筆記裡的密碼、金鑰)都要處理。最保險的做法:建立當下就選對。

同場加映(呼應課程紅線):檔案不搬家,AI 來上門——但用了 Git 之後,你的檔案確實會多一份放在 GitHub 上。所以真正機密的東西(未公開的財務數字、個資、合約正本)本來就不該進 vault,這件事在用 Git 之後只會更重要,不會變輕。
// 09

三種同步方案,選一個就好

Git 不是唯一解,也不是最好的解——它是「有版本歷史」這個需求的解。三種方案攤開比一比:

比較項目 Obsidian Sync 雲端硬碟
(iCloud · Dropbox · OneDrive)
Git + GitHub
費用 官方付費訂閱 多半有免費額度,超過才付費 免費(個人私有倉庫不收費)
難度 最低。登入、開啟同步就完成 低。把 vault 放進同步資料夾即可 高。要記幾個指令,第一次設定要花時間
版本歷史 官方服務內建,細節依方案而定 只有檔案層級的還原,沒有「這次改了哪幾行」的語意 完整。每次 commit 都是一張快照,diff 逐行可查
衝突風險 低,官方替你處理 高。.obsidian 特別容易打架,常冒出「衝突副本」檔案 中。會明確告訴你哪裡撞到,但要你自己決定留哪半
加密/隱私 官方標榜端對端加密 看各家服務的政策 倉庫設 Private 才安全(見第 08 節)
適合誰 想花錢換省心、手機桌機都要順的人 只有一台主力電腦、手機偶爾看看的人 兩台以上電腦工作、想驗收 AI 改了什麼、想要完整備份保險的人
可以混用嗎?可以,但別把同一個 vault 疊兩套。常見的穩妥組合是:桌機之間用 Git,手機只讀不寫。最糟的組合是把 Git 倉庫再丟進 Dropbox 資料夾裡——兩套同步機制會互相踩,遲早出事。
// 10

疑難排解

症狀原因怎麼修
打 git 說「command not found」或「不是內部或外部命令」 Git 沒裝,或裝了但終端機還沒認得它。 macOS 依提示安裝 Xcode 命令列工具;Windows 安裝 Git for Windows。裝完把終端機整個關掉重開再試。
push 被拒絕,訊息裡有 rejected 或 non-fast-forward GitHub 上已經有你這台還沒拿下來的改動(多半是另一台先推了)。 先 git pull,若有衝突照第 07 節處理,處理完再 git push。
git commit 之後跳進一個看不懂、打字沒反應的畫面 忘了加 -m "說明",Git 幫你開了文字編輯器要你寫說明。 按 Esc,接著打 :q! 再按 Enter 離開,然後重打一次帶 -m "說明" 的完整指令。
檔案裡冒出 <<<<<<<、======= 這種怪符號 兩台電腦改到同一份筆記的同一段,發生衝突。 不是壞掉,是 Git 把兩個版本都留給你了。照第 07 節挑一半留下、刪掉標記、再 commit。
每次換電腦,Obsidian 的分頁和版面就被洗掉 workspace.json 被同步了。 把它補進 .gitignore,然後執行 git rm --cached .obsidian/workspace.json 讓 Git 停止追蹤它(檔案本身不會被刪),再 commit、push。
git commit 回你 nothing to commit 這次真的沒有任何檔案變動。 正常現象,不用理它,直接 git pull 或關機下班都行。
倉庫越來越肥、push 越來越慢 把大量影片、大圖放進 vault 了;Git 會為每個版本各留一份。 大素材改放雲端硬碟,vault 裡只留連結;或把該資料夾加進 .gitignore。
手機上的 Git 外掛常當掉、同步失敗 行動裝置上的 Git 支援本來就有限(見第 06 節)。 手機不要當主力,改成只讀;寫入集中在桌機。
第二台電腦打開 vault,外掛設定不一樣 正常。那些「綁定這台電腦」的設定被 .gitignore 排除了。 在這台重新填一次即可(例如 Claudian 的 CLI 路徑)。這是刻意的設計,不是故障。

一頁帶走的小抄

CHEAT SHEET · 補充 5
  1. Git = 有記憶的資料夾。commit 是拍快照,push 是上傳,pull 是下載。
  2. 每天只有兩句話:開工 git pull;收工 git add . && git commit -m "今天" && git push。
  3. 倉庫一定 Private。會議記錄、人物卡、報價都在裡面,公開等於外流。
  4. 先寫 .gitignore 再 commit。尤其 .obsidian/workspace.json,不排除就天天打架。
  5. 一次只在一台裝置編輯。衝突九成來自「忘了 push 就換電腦」。真衝突就看 <<<<<<< 標記,留一半、刪標記、再 commit。
  6. 驗收 AI 就用 git diff。它改了哪幾行,一行都藏不住——這就是「講清楚、給邊界、驗收」的最後一步。