Git Submodule 學習筆記

前言 最近用 Hugo 重新架了新的部落格,部落格本身是一個 git repo,但 Theme 的資料夾的內容是另一個 git repo,導致在不同電腦想要同步部落格內容時,遇到 Git Submodule 的議題,是一個實務開發上較少遇到的情境,所以順手紀錄一下操作記錄. 何謂 Git Submodule? 使用 Git Submodule 的情境是在開發專案時資料夾內有第三方 Library 或你正單獨開發並被多個父專案使用的子專案,此時你想要將兩個專案視為獨立的,但又希望可以在其中一個專案使用到另一個專案的內容. Git Submodule 其實就是一個巢狀的 Git 檔案結構,他會幫你把專案內某個子資料夾視為 Library 處理,不會受到主專案的 Git 操作影響. 以下是我遇到 Git Submodule 的情境: 我的部落格資料夾內含有 Theme 主題,部落格資料夾是父資料夾,而 Theme 是子資料夾,因為他參照的是另一個第三方的 git remote url,也就是一個第三方維護的靜態主題專案,未來我可能會需要同步他上面最新的更新,或是切換到他專案某個時間的 commit,這時候我就需要將他視為和我部落格是不同的專案,但彼此卻又需要被互相引用,這時候 Git Submodule 就可以很好的幫我解決這個問題. 實戰演練 為了模擬巢狀的 Git 結構,在 GitLab 上分別建立一組父子專案,父專案名稱是 Parent,子專案名稱是 Child.建立好之後,分別 clone 到本地端的 parent 和 child 資料夾. . ├── child │ └── README.md └── parent └── README....

<span title='2023-01-20 19:49:13 +0800 +0800'>January 20, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;560 words&nbsp;·&nbsp;Madi

新居落成: Hugo x Jamstack x Render

前言 兩年前曾經用 GitHub Page 的靜態網站搭建一個部落格,當時沒有想太多,只希望能快速有個部落格來寫寫文章記錄碰到的各種坑,但因為 GitHub 上的內容都是公開的(畢竟是開源的),又可以讓人隨意下載,想了一下決定重新搭建部落格,也就有了這篇文章的誕生。 部落格選擇 開始搭建部落格之前有做了一點研究,整理網路上大家對部落格的看法如下: Medium 這個大家都知道,甚至平常看到很多技術文章都是寫在 Medium 上,但好像因為付費牆的一些因素,導致滿多技術寫手紛紛出走,想了一下,我覺得想要有一個客製化的部落格,不想被綁定在某個平台上,所以果斷放棄 Medium 這個選項。 Wordpress Wordpress 我沒有用過,但一直以來都知道他聲勢浩大,尤其是在 CMS 的生態系中更是霸主,算是很成熟且市占率很高的軟體,甚至很多接案的人都會用 Wordpress 快速做出不錯的網站,但對於只是想要寫寫文章的我來說,Wordpress 還是稍嫌複雜了一點。 GitHub Page GitHub Page 是我第一次建立部落格使用的選項,這是 GitHub 推出的靜態網站代管服務,對於簡單的網站如: 履歷、介紹…等等算是不錯的選擇。而且 Github Page 不需要租 server 和買 domain name,碰不太到環境建置,只要會用 git push 上去,就會有一個 GitHub 提供的 https://<name>.github..io 的 url,例如我之前的部落格: https://dysonma.github.io 一切看似美好,但其實 GitHub Pages 也有一些 限制: 資源空間只有 1GB 上限 每月的流量限制是 100GB 每小時只能 build 10 次 另外,有一些靜態網站產生器提供快速建立一個靜態網站,還含有很多主題可以選擇,例如: Hugo, Hexo, jekll,這些都是用 markdown 語法就可以寫文章。對我來說,主題看起來很不錯,使用上也很方便,所以納入考量。 談談 Jamstack 看了這麼多選擇後,查到這十年間的前端生態演變出一種叫 Jamstack 的名詞。...

<span title='2023-01-11 19:49:13 +0800 +0800'>January 11, 2023</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;440 words&nbsp;·&nbsp;Madi