GitHub fork實作和介紹:如何將 Hexo 修改提交PR到官方 hexojs/site 儲存庫
日期:2024-09-09
教你將修改提交到 Hexo 官方的 hexojs/site,從 fork 儲存庫到發送 Pull Request,為開源貢獻。
此文章也有發表在Medium上 >>
GitHub Fork 介紹
在 GitHub 上,fork
是一個將他人的儲存庫複製到自己帳戶下的操作。這樣做的目的是讓你能在保留原始儲存庫內容的基礎上進行修改,而不影響原始作者的專案。Fork
讓你可以:
- 獨立進行修改:一旦你 fork 了儲存庫,你就有了這個專案的副本,可以自由進行修改或添加功能。
- 提交 Pull Request:當你對 fork 出來的專案進行了修改,並希望將這些改動反饋到原始專案時,可以發送 Pull Request,由原作者審核後決定是否合併你的更改。
- 貢獻開源專案:Fork 是開源專案貢獻者的一個重要工具,允許你從別人的專案基礎上創建自己的功能,並向原始專案提交改進。
Fork 的常見用途
- 參與開源項目:開發者可以 fork 一個開源專案,添加新功能或修復 bug,然後通過 Pull Request 提交回原始專案。
- 自定義專案:你可以 fork 一個公開的儲存庫,並根據自己的需求修改或擴展它,無需擔心影響原始專案。
- 實驗性修改:fork 後,你可以進行實驗性修改,而不用擔心損壞原始專案。
簡單來說,fork 是一種複製 GitHub 儲存庫到自己帳戶並進行獨立修改的功能,特別適合於開源協作和個人項目的定制開發。
GitHub Fork 實作
會想寫這篇是因為我之前做的 Hexo 模板有做一些更新,我是使用 EJS 內嵌式的樣板引擎來進行實作,有開源在我的 GitHub。 因此我需要把我的變動 merge 進去 Hexo 的官方 site 裡面,因此想順便記錄起來,給大家參考。
- GitHub - weitsung50110/hexo-theme-animal: an animal theme. Contribute to weitsung50110/hexo-theme-animal development by creating an account on GitHub. github.com
這個 Hexo Theme Animal 模板我有用 GitHub Page 做成部落格網站,有興趣的話歡迎查看: https://weitsung50110.github.io/hexo-theme-animal-site/
提交 Pull Request
1. 點擊 Fork 按鈕
在儲存庫的右上角,你會看到一個名為 Fork
的按鈕,點擊它。這會將這個儲存庫複製到你的 GitHub 帳號下。
2. Clone 到本地端
$ git clone https://github.com/weitsung50110/site.git
3. 建立新的分支
$ git checkout -b modify240909
4. 提交變更
$ git status
On branch modify240909
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: source/_data/themes/Animal.yml
modified: source/themes/screenshots/Animal.png
$ git add .
$ git commit -m "modify github imgs and desc"
5. 推送變更到 GitHub
$ git push --set-upstream origin modify240909
6. 提交 Pull Request
GitHub 會建議你建立一個 Pull Request。點擊 Compare & pull request
,並填寫相關描述,然後提交你的 Pull Request。
選擇要合併的 branch,我剛剛創的分支是 modify240909
,所以把它併入 site
的 master
當中。
通常比較大的開源項目當你提 PR 時,會要求你填寫一些資料。
7. 完成
接下來等待審核!
原作者就可以審核你的變更,並決定是否將你的代碼合併到原始儲存庫中。
8. 審核完成
可以看到我的 PR 有一個 Open
代表還在審核中,另外兩個 Closed
代表審核完成。
因為我才剛提出 PR,這邊給大家看我以前提出並審核通過的 PR。
審核完成後會把你的 PR 併入 Master
當中,會從 Open
調成 Closed
。
**更新 (2024-09-10)**:我的 PR 審核完成了
我新提的 PR 也變成 Closed
的狀態了!
By the way,你在 Hexo 官網可以找到我做的主題!
喜歡 好崴寶 Weibert Weiberson 的文章嗎?在這裡留下你的評論!本留言區支援 Markdown 語法。