如何利用 github 進行多人協作開發

某知名患者發表於2021-04-04

yancy-min-842ofHC6MaI-unsplash.jpg

圖片來源 unsplash.com/s/photos/gi…

寫這篇文章主要是想了解一下開源專案怎樣進行多人協作開發,順便也加深自己對 git 程式碼管理的理解。

github 專案新增 collaborators

Collaborators 類似於 Team 模式 ,Repository 的擁有者可以直接新增合作者到自己的倉庫中, 讓合作者擁有幾乎等同擁有者的許可權。

新增成員

專案的擁有者 A 想要合作者 B 參與到該團隊的團隊開發中, 於是 A 邀請 B 併成功新增B到該專案中,這樣作為合作者 B 便能貢獻程式碼了。

WeChatbcc8cc48ff50f8192869062a215091d0.png

截圖2021-04-04 下午6.13.01.png

Fork & Pull Request

Fork

GitHubFork 是服務端的程式碼倉庫克隆,包含了原來的倉庫所有內容,如分支、Tag、提交,如下圖

WeChat226a86d2838ab7684b043e67d8611f1a.png

Pull Request

Pull Request 是一種通知機制。你修改了他人的程式碼,將你的修改通知原來的作者,希望他合併你的修改,這就是 Pull Request

建立一個 Pull Request

Fork 專案程式碼,git clone 下來,修改程式碼後再推上去,然後進行建立 PR ,如下圖所示。

WeChat7a14c7ae3fc2c02e38d0b0908b4b64db.png 這樣的話專案就出現了一個 PR ,如下圖所示。

WeChatdc53693018e1a4fa451bfdd78486dfd6.png 作為開源專案的管理者, 可以選擇 mergerequest 到自己的專案中 , 也可以選擇關閉掉該請求。

WeChatb7c4491ec028d97c736ae56794897e9b.png

合併分支

多人協作開發不可避免的要進行合併分支,接下來簡單說下分支的基本操作。git checkout -b A ,建立並切換到 A 分支。假如我們在 A 分支完成程式碼了。git checkout master 切回主分支,使用 git pull origin master 拉取最新程式碼。使用 git merge A 命令把 A 分支的程式碼合併到 master 上 ,git push origin master 提交到遠端倉庫中。

git rebase

git rebase 這個命令筆者在工作中也經常使用,比如說當筆者在 dev 分支寫好了程式碼,我會先去切換分支到 master 上去拉去遠端最新程式碼。然後切回 dev 分支,使用 git rebase mastermaster 最新的分支同步到dev,然後切換到 master 分支,git merge dev 將本地的 dev 分支內容合併到 master 分支,最後 git pushmaster 分支的提交上傳。

Code Review

commits 記錄

平常做 Code Review 可以通過 commits 程式碼提交歷史來檢視,根據程式碼更改歷史可以新增評論,如下圖所示。

WeChat85cca9c192c1d0e595de0cca8b3ff4ca.png

pull requests

WeChat977d38c1bd3a80db75ae57db239ee019.png

參考資料

[Git & GitHub] 怎麼團隊合作多人開發專案

相關文章