搜尋結果

×

GitHub fork實作和介紹:如何將 Hexo 修改提交PR到官方 hexojs/site 儲存庫

教你將修改提交到 Hexo 官方的 hexojs/site,從 fork 儲存庫到發送 Pull Request,為開源貢獻。

這篇文章將逐步教你如何將修改提交到 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,所以把它併入 sitemaster 當中。

通常比較大的開源項目當你提 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 語法