Week1: Git 遠端協作及 Pull Request


Posted by zoeaeen13 on 2020-06-15

如何將程式碼從本地放上 Github repository

  1. 在 Github 上建立一個 repository
  2. 建立後系統會提示你該怎麼做,將 code 複製下來去終端機操作
  3. 操作遠端和本地的溝通
#1 指定(-u)將 本地master 推到 origin的master
git push -u origin master

#2 推上本地commit
git push origin master 

#3 推上本地新建的分支
git push origin branch 分支名稱

#4 拉下遠端的 commit
git pull origin master 

#5 抓下遠端的 branch
git checkout feature

使用 Pull Request(PR)

為什麼要使用 PR?

知乎看到一個舉例,改寫一下,比喻 Pull Request 過程像是我們在大學時教授出作業:

  1. 以前助教會在課後幫同學補充上課內容和筆記,大家會在助教課抄寫一份筆記(fork)
  2. 回家延伸內容及寫題目,完成後會讓助教先批改(發 Pull Request 給助教),由他確認內容沒有問題
  3. 如需修正就再拿回來修正,一直到修改完成,助教才會收齊這些作業(merge)統一交給教授

而運用到軟體開發上,開發者拿到一項 issue 或工作,會在一個專屬他的分支上進行開發,然後完成新功能後需要將它合併到主要分支上,但就像前面說的

  • master 分支需要維持穩定

大型專案不可能時常出問題,而且協作者太多也無法讓所有人有權限、都能拿到遠端的資料庫,因為「權限管理」而衍生出 Pull Request 功能。

PR 主要功能

  • 通知:通知相關人員來檢查功能開發
  • 討論:針對某一段 code 在底下進行有效討論,而不會發散
  • 延伸功能:貢獻開源專案

而有錯誤或需修正的地方,要求的修改 (follow-up commit) 會標示在這頁

PR 流程

  1. 先 Fork 一份原專案到自己的 GitHub 底下,你就有完整的權限,想怎麼改就怎麼改
  2. 改完後,先推回(Push)你自己帳號的專案
  3. 然後發 Pull Request 通知原作者知道你有做事,請他看一下。如果他認為 OK,會決定把你這些修改合併(Merge)到他的原專案

參考資料:與其它開發者的互動 - 使用 Pull Request什麼是 Pull Request?


#Git #Github #Pull Request







Related Posts

覺得 JavaScript function 很有趣的我是不是很奇怪

覺得 JavaScript function 很有趣的我是不是很奇怪

Python Table Manner - 程式碼風格

Python Table Manner - 程式碼風格

【Day06】threading用多執行緒更快完成影片下載

【Day06】threading用多執行緒更快完成影片下載



Comments