開始為開源社群貢獻程式碼了,測試了一把,方法如下
阿新 • • 發佈:2019-01-08
Github 相信已經成為家喻戶曉的程式碼託管工具, 但訪問了多位周圍程式設計愛好者後發現, 對其的使用還僅限於 下載專案原始碼 和 備份專案原始碼 的程度, 今天我就來介紹一下一個比較重要的使用場景 貢獻程式碼
Fork 專案
- 首先需要fork這個專案, 進入專案頁面, 點選右上角的Fork按鈕
- 你的 github 帳號中會出現 swoole/swoole-src 這個專案
- 在本地電腦(Linux)上使用以下命令: 得到一個 swoole-src 資料夾
git clone [email protected].com:samt42/swoole-src.git
獲取原專案程式碼
- 進入 swoole-src 資料夾, 新增 swoole 的遠端地址
git remote add upstream https://github.com/swoole/swoole-src.git
- 獲取 swoole 最新原始碼
git pull upstream master
現在我們在 fork 來的 master 分支上, 這個 master 留作跟蹤 upstream 的遠端程式碼...
建立分支
-
好了, 現在可以開始貢獻我們的程式碼了
按照國際慣例, 我們一般不在 master 上提交新程式碼, 而需要為新增的功能或者fixbug建立新分支, 再合併到 master 上, 使用以下程式碼建立分支git checkout -b branch1
現在我們可以在分支上更改程式碼了
-
假設我們已經添加了一些程式碼, 提交到程式碼庫
git commit -a -m "new commit"
合併修改
-
一個常見的問題是遠端的 upstream (swoole/swoole-src) 有了新的更新, 從而會導致我們提交的 Pull Request 時會導致衝突, 因此我們可以在提交前先把遠端其他開發者的commit和我們的commit合併.
-
使用以下程式碼切換到 master 分支:
git checkout master
-
使用以下程式碼拉出遠端的最新程式碼:
git pull upstream master
-
切換回 branch1:
git checkout branch1
> 如果忘記自己之前建的分支名可以用 `git branch` 檢視
-
把 master 的 commit 合併到 branch1:
git rebase master
-
把更新程式碼提交到自己的 branch1 中:
git push origin branch1
Pull Request
- 提交 Pull Request
你可以在你的 github 程式碼倉庫頁面切換到 branches 頁面點選 branch1 分支後點擊New pull request
按鈕, 新增相關注釋後提交.
OR
切換到 branch1 分支的程式碼倉庫點選Compare & pull request
按鈕, 新增相關注釋後提交.