使用 git 子模組將網站的一部分公開化
最近,我在 Netlify 上創建了一個新的網站,希望將其中一部分公開在 GitHub 上,以便任何人都可以提交錯別字等問題的拉取請求。
我在 Hugo 倉庫中有一個名為 content
的文件夾,我想公開的部分是一個名為 handbook
的文件夾。
因此,我為此創建了一個新的倉庫,名為 handbook
。
我刪除了父倉庫中的 content/handbook
文件夾(如果您從頭開始創建,則不需要此步驟,但我希望移動現有內容):
1 | rm -rf content/handbook |
然後我提交了更改,然後添加了子模組:
1 | git submodule add https://github.com/flaviocopes/handbook |
我在 Netlify 上部署了網站,它自動捕獲了子模組。
但在本地上遇到了一個問題,因為並不是像子模組存儲庫文件夾上有著符號鏈接這樣。
我刪除了 content/handbook
文件夾,並從子模組的本地存儲庫添加了一個符號鏈接:
1 | # 從 `content` 文件夾內 |
然後,我告訴 Git 停止跟踪 content/handbook
文件夾,使用以下命令:
1 | git update-index --skip-worktree content/handbook |
(要恢復跟踪,請使用 --no-skip-worktree
)
這樣,我既有子模組,也在本地上有指向子模組的符號鏈接,兩者兼得。
tags: [“git”, “submodule”, “GitHub”, “Netlify”, “Hugo”]