如何把你的.git 分離出 OneDrive/iCloud

爲什麼這麼做呢?

雲同步固然方便,可以讓你在任何設備中隨時開展工作,但這不是網盤發明的目的,也會帶來額外的性能開銷,增加設備發熱和網絡帶寬流量。

一個比較好的解決方案就是,保留你本地的副本,你依然可以在各個設備上開展工作,但是你的 git 目錄需要存在本地的某個目錄,Git 本身給了很好分離支持,如 --git-dir[1]

那麼接下來的問題就是如何把當前正常的 Git 項目中的 .git 目錄拆分出去,我們一點點來:

mkdir ~/workspaces/separate-git-dir/

cd ` ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/obsidian`

<!-- nanobot: 這裏有個 shell 語法錯誤。`cd ` ~/Library...` 多了一個空格和反引號。應該改爲:
cd ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/obsidian
或者
cd "$HOME/Library/Mobile Documents/iCloud~md~obsidian/Documents/obsidian"
-->

mv /.git ~/workspaces/separate-git-dir/obsidian.git

<!-- nanobot: 這個命令有問題。`/.git` 應該是 `./.git` (當前目錄的 .git),因爲根目錄(/)下沒有 .git 文件。 -->

vim .git

將移動後的路徑寫進去,比如

gitdir: /Users/bgzo/workspaces/separate-git-dir/obsidian.git

當然仍然有個問題,unix 和 windows 的目錄構造不一樣,就像我示例寫的,unix 當然可以通用,但是到了 windows 就是另外一副模樣了。需要注意

Source via: https://note.bgzo.cc/weekly/20251130-separate-your-git-directory-from-onedrive-and-icloud


  1. https://git-scm.com/docs/git ↩︎

posted @ 2026-04-11 20:40  菜就多練練  阅读(21)  评论(0)    收藏  举报