指南

什麼係 GitHub?畀非開發者睇嘅版本控制入門

GitHub 係一個網站,用嚟儲存軟件項目嘅程式碼同完整歷史,等你睇到每一次改動、還原錯誤,並且同其他人一齊做同一個項目。佢建基於 Git 之上,Git 係免費軟件,會隨時間記錄項目檔案嘅快照。Git 負責保存歷史;GitHub 就係將呢段歷史分享、備份同討論嘅網上平台。

如果你用 AI 寫 app,GitHub 主要有兩個用途:擁有一份程式碼副本,放喺你用嚟生成佢嘅工具之外;同埋用開發者已經熟悉嘅格式交俾佢哋。

用 AI 寫嘢時點解重要

AI app builder 寫同改程式碼嘅速度好快,但唔係每次改動都會令嘢更好。版本控制就係保障呢層安全網。

  • 有信心咁還原。 每次儲存嘅改動都係一個快照。如果 AI 弄壞咗嘢,你可以返去最後一個正常嘅版本。
  • 擁有權。 放喺你自己 GitHub 帳戶入面嘅程式碼,即使你轉用其他工具、停止付費,或者想搵第二個意見,都仍然屬於你。
  • 同開發者合作。 幾乎所有開發者每日都用 Git。倉庫可以俾佢哋檢視 AI 寫咗啲咩、修正,然後將改動送返過嚟。
  • 部署去其他地方。 好多託管平台可以直接由 GitHub 倉庫部署。

日常比喻:追蹤改動加共用雲端硬碟

想像一份開咗「追蹤改動」嘅文件,放喺共用雲端硬碟度。

  • Git 就係追蹤改動:每次編輯都會記錄低,連邊個改、幾時改、點解改都有,你可以返去任何一個版本。
  • GitHub 就係共用雲端硬碟:文件放喺網上,其他人可以攞一份副本,亦有位置留言同批核。
  • 分支(branch) 好似儲存一份叫「草稿——新價錢部分」嘅副本,等你試嘢之時唔會掂到大家都依賴嘅版本。如果試成功,就將佢合併返去。

同文件嘅分別在於規模。一個 app 有成百個檔案,Git 會一齊追蹤所有檔案,所以一個快照就係整個項目喺嗰一刻嘅狀態。

你會遇到嘅 Git 同 GitHub 術語

術語白話解釋
Repository(repo)一個附有完整歷史嘅項目資料夾
Commit一個已儲存嘅改動快照,附有簡短訊息講明改咗咩
Branch一條獨立嘅工作線,等實驗唔會影響主版本
main主分支嘅常用名稱——即係正式上線嗰個版本
Merge將一條分支嘅改動合併去另一條分支
Merge conflict兩個改動都改咗同一行,要有人揀保留邊個
Clone下載一份完整嘅倉庫副本,連歷史都有
Push / pull將你嘅 commit 推上 GitHub / 將其他人嘅 commit 拉落嚟
Pull request(PR)GitHub 上面一個提議合併分支嘅頁面,俾人審閱同討論改動
Fork你喺 GitHub 上面擁有嘅別人倉庫嘅自己副本
Issue附喺倉庫度嘅 GitHub 待辦事項或者 bug 報告
.gitignore一張列表,寫明 Git 永遠唔應該記錄嘅檔案,例如 .env 秘密資料同下載落嚟嘅依賴項
GitHub Actions喺 GitHub 上面運行嘅自動化,例如每個 pull request 都跑測試

有兩點值得特別強調。第一,Git 歷史按設計係永久嘅:如果一個密碼被 commit 並且推咗上去,之後喺另一個 commit 刪走佢,都唔會將佢由歷史入面移走。第二,commit 嘅價值全靠訊息寫得好唔好。「修正兩人同時預訂時嘅重複計數」之後睇得明;「update」就唔得。

實例:將 AI 寫嘅 app 交俾自由工作者

你用 AI app builder 整咗一個客戶入口網站。佢運作正常,但你想搵一位自由工作者開發者,加一個難度較高嘅功能,同你嘅會計軟件對接。

  1. 將項目連去一個新嘅私人 GitHub 倉庫,然後 push。 倉庫而家有程式碼同佢嘅歷史。
  2. 睇吓裡面有咩。 喺 GitHub 打開倉庫,應該見唔到 .env 檔案,程式碼入面都唔應該有 API key。秘密資料應該留喺你個平台嘅設定度,如果要分享,就另外俾自由工作者——詳見環境變數同秘密資料。
  3. 邀請自由工作者 做呢個倉庫嘅協作者,只限呢一個倉庫。
  4. 佢哋喺一條叫類似 accounting-sync 嘅分支度工作,邊做邊 commit,完成後開一個 pull request。
  5. 你審閱 pull request。 就算唔睇程式碼,你都可以睇描述、檢查邊啲檔案有改動,並且喺留言度提問。
  6. 滿意之後 merge,然後將改動 pull 返去你嘅 builder,等你同 AI 可以由新版本繼續。

過程中,你可以睇清楚改咗咩,有需要亦可以還原。呢個工作流程就係版本控制嘅全部價值。如果你仲未決定要唔要搵開發者,可以睇吓搵開發者定係用 AI 自己做。

常見錯誤同誤解

  • 「GitHub 同 Git 係同一樣嘢。」 Git 唔使 GitHub 都可以用;GitLab、Bitbucket 等其他服務都會託管 Git 倉庫。
  • 「GitHub 會運行我嘅 app。」 GitHub 只係儲存程式碼。要俾公眾使用,就需要網頁託管,呢個係另一項服務(不過有啲託管商可以由 GitHub 部署)。
  • Commit 咗秘密資料。 呢個係最有破壞力、亦最常見嘅錯誤。用 .gitignore 排除 .env 檔案;如果任何 key 曾經被 push 上去,就要即刻更換。
  • 只得一條分支,又冇寫訊息。 自己一個人做實驗就冇問題,但每次 commit 都要有清楚嘅訊息,有風險嘅嘢就用分支。
  • 兩邊同時改。 如果你喺 GitHub 同 AI builder 度都改程式碼,中間冇 pull,就會整出衝突。每次只揀一個地方編輯,轉換之前先同步。
  • 以為私人倉庫就係所有嘢嘅備份。 倉庫只儲存程式碼,唔係你數據庫嘅內容或者上載嘅檔案。呢啲都要另外備份。

你可以叫 AI builder 做咩

  • 「加一個 .gitignore,排除 .env、依賴項資料夾同 build 輸出。」
  • 「寫一個 README,講清楚點樣安裝、需要邊啲環境變數(只要名稱),以及點樣運行 app。」
  • 「加一個 .env.example,列出所有變數名稱,但唔要真正嘅值。」
  • 「每次改動都用清楚、有描述性嘅 commit 訊息。」

呢四個要求會令開發者幾分鐘內就可以接手個倉庫。如果想將 app 搬去你自己嘅伺服器,可以睇如何匯出並自行託管 AI 寫嘅 app;如果要喺真正用戶使用前加固,就睇將 AI 原型推去生產環境。

GitHub 同 Mythex

Mythex 每個計劃都會幫你保留歷史:每次 agent 成功完成一輪之後,都會儲存一個 checkpoint,即係一個 Git 快照,你可以返去嗰度。喺 Pro 計劃,你可以連接 GitHub,對住你自己嘅倉庫 push 或 pull 項目,或者將整個項目下載成壓縮檔;秘密資料同已安裝嘅依賴項唔會被匯出。呢度嘅 GitHub 係用嚟同步程式碼,唔係用嚟登入 Mythex。詳見文件入面嘅 GitHub、匯出同匯入,以及定價頁了解每個計劃包括咩。

常見問題

Git 同 GitHub 有咩分別?

Git 係免費軟件,可以喺任何電腦度記錄一個項目檔案嘅歷史。GitHub 係一個由 Microsoft 擁有嘅網站,喺網上託管 Git 倉庫,並加咗 pull request、issue 同自動化等協作工具。

用 AI 寫 app 一定要用 GitHub 嗎?

唔一定。好多 AI app builder 喺產品入面已經幫你保留歷史。當你想擁有程式碼嘅副本、想同開發者合作,或者打算將 app 放去其他地方託管,GitHub 就會開始有用。

GitHub 係咪免費?

GitHub 有免費計劃,包括公開同私人倉庫,對大部分個人同小團隊都夠用。付費計劃會加入團隊管理同其他功能;最新價錢請睇 GitHub 嘅定價頁。

我喺 GitHub 嘅程式碼會唔會公開?

只有你將倉庫設為公開先會公開。私人倉庫只得你同你邀請嘅人睇到。就算係私人倉庫,都唔好 commit 密碼或者 API key。

Mythex · Pricing · 用 AI 建造任何嘢 · 網站及應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(台灣)