© 2024 Merano Tu. All rights reserved.
Merano Tu
2025/12/3
git checkout -b feature-branchgit push origin feature-branch| 特性 | Branch | Fork |
|---|---|---|
| 權限需求 | 需要寫入權限 | 不需要原始 repo 的權限 |
| Repository | 同一個 | 兩個獨立的 repo |
| 使用場景 | 內部團隊協作 | 開源專案貢獻 |
| 管理複雜度 | 較簡單 | 需要同步 upstream |
在公司內部的專案,通常用 branch 就夠了。但如果是要貢獻開源的 library,就需要先 fork。
當你完成開發後,你是在請求專案維護者把你的改動 pull(拉取)進來。
換個角度想:
所以叫 Pull Request = 「請求你拉取我的改動」
你的分支/Fork → (發 PR) → 請求合併 → 維護者 pull 你的改動
有趣的是,GitLab 把同樣的功能叫做 Merge Request (MR),從結果來命名——「請求合併」,這樣其實更直觀一些。
Pull Request 這個詞來自 GitHub,當時的設計理念是:
git push 到自己的 forkgit pull 貢獻者的改動所以用 “Pull Request” 這個名稱,強調的是維護者需要執行的動作。
簡單說,Pull Request = 我做好了,請你拉取我的程式碼來審查和合併!