從 GitHub 搬家到 Codeberg:懶人也能開始的遷移筆記

本篇文章更新時間:2026/03/27
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


從 GitHub 搬家到 Codeberg:一篇給「遲遲不敢動手的人」的實戰心得

編輯前言:這篇文章對我最大的啟發,是讓我發現「從 GitHub 搬去 Codeberg 其實並沒有我以為的那麼可怕」。如果你也想擺脫平台鎖定、回到更自由的開源環境,這篇非常值得一讀。

文章來源:Moving from GitHub to Codeberg, for lazy people

核心觀點 (Key Takeaways)

  • Codeberg 的 GitHub 導入工具成熟、完整,issues、PRs、labels、authors 都能無痛搬家。
  • GitHub Pages 可直接改用 codeberg.page,替代方案也逐漸成熟。
  • 最麻煩的部分是 CI——你將失去 GitHub 的 macOS runners 與免費資源,需要調整策略。

深入解析

原文作者一開始坦承,遲遲不行動是因為覺得 Codeberg「還不夠成熟」「搬家很麻煩」。但實際開始動手後,才發現其中有不少部分其實比預期順利。

作者指出:「Codeberg offers repository import from GitHub that just works.」

對我而言,這是最關鍵的句子,因為它直接消除技術門檻。

1. 儲存庫與 Issues/PRs 搬遷:完全無痛的驚喜

作者特別強調 Codeberg 的匯入工具出乎意料地成熟:

  • 可自動保留 issue 編號
  • labels、作者、PRs、releases 都能完整帶過來
  • 操作介面跟 GitHub 幾乎一樣

這點讓我想到許多人從 GitLab 或其它平台轉進 GitHub 時的麻煩——Codeberg 顯然走在一條「不折磨使用者」的路上。

2. GitHub Pages 的替代方案:codeberg.page 很好用

如果你和我一樣有用 GitHub Pages 做靜態網站,那遷移一定是個疑慮。作者推薦的 codeberg.page 其實相當直覺:

  • 同樣是把 HTML 推到一個 branch
  • 基本沒遇過 downtime

此外作者補充了幾個替代:grebedoc.dev、statichost.eu,顯示整個生態系其實正在成形。

3. 最棘手:CI 遷移與 macOS Runners 的缺席

這段是原文最具「現實含量」的部分。

GitHub Actions 免費、macOS runner 可用、公共 repo 幾乎無限制,這些都是開發者長期被寵壞的地方。

作者指出:

「You will have to give up on both of those things.」

也因此,作者的建議是:

  • 改用 cross-compilation 減少對 macOS runner 的依賴
  • 自架 Forgejo Actions runner

為什麼是 Forgejo Actions?因為:

  • YAML 語法跟 GitHub Actions 幾乎一樣
  • 大多數 Actions 生態可以直接用
  • UI 也相當熟悉

例如:

uses: dtolnay/rust-toolchain

只要改成:

uses: https://github.com/dtolnay/rust-toolchain

這種兼容性對遷移非常重要。

4. GitHub 上的舊 Repo 怎麼辦?

作者選擇:

  • 更新 README
  • 直接 Archive

原因是:

  • 若 Codeberg 自動 push 回 GitHub,用戶仍能在 GitHub 留 PR、開 issue,導致兩邊混亂。
  • 關閉 GitHub issues 會讓所有 issue 直接變成 404,非常破壞資訊價值。

有些專案甚至用 GitHub Action 自動關閉所有 Pull Requests,但這種「反操作」其實也不太友善。

筆者心得與啟發

讀完這篇文章,我最大的感觸是:「遷移開源平台不是技術問題,而是習慣問題。」

GitHub 的確方便,但也因為太方便,讓我們忽略了平台鎖定的風險。作者的經驗提醒我:

  • 生態系確實在成長(例如 Forgejo、codeberg.page)
  • 遷移的痛點其實比想像中少
  • CI 是唯一的大難題,但也不是無法克服

如果你也想尋找更自由透明的開源託管,或是不想讓專案永遠依附在 GitHub 商業策略底下,我會建議從最簡單的步驟開始:

先把 repo 匯入 Codeberg,看看自己的開發流跟新平台是否合拍。

不用一次跳水,也不用一次搬完,只要開始動手,就會發現門檻其實比你想像中低。


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon