1. 程式人生 > >GitHub——Pull Request

GitHub——Pull Request

Pull Request:自己修改原始碼後,請求對方倉庫採納該修改時的一種行為。

Pull Request的步驟:
1、將他人的倉庫Fork成自己的倉庫(訪問該倉庫頁面,點選fork)
2、將自己的倉庫clone到本地(git clone 自己倉庫的URL)
3、建立特性分支(在GitHub上傳送Pull Request時,一般都是傳送特性分支。這樣一來,Pull Request就擁有了更明確的特性[主題],讓對方瞭解自己修改程式碼的意圖,有助於提高程式碼的審查效率)
4、做出自己需要的修改
5、提交修改(git add… & git commit -m “…”)
6、建立遠端分支(要從GitHub傳送Pull Request,GitHub端的倉庫中必須有一個包含了修改後程式碼的分支。git push origin 遠端分支名)
7、傳送Pull Request(登陸GitHub,切換到相應分支,點選Compare可檢視分支之間的差別。點選New Pull Request,在隨後顯示的表單中填寫本次進行Pull Request的理由,並提交即可)

倉庫的維護:
Fork或Clone來的倉庫,一段時間後可能會與最新的原始碼有所不同。
通常,Clone來的倉庫實際上與原倉庫沒有任何關係。所以我們需要將原倉庫設定為遠端倉庫,從該倉庫獲取(fetch)資料與本地倉庫合併(merge),讓本地倉庫的原始碼保持最新狀態。
1、Fork原倉庫,並Clone到本地
2、為原倉庫設定名稱,將其作為遠端倉庫(git remote add 名稱 倉庫URL)
3、獲取最新資料(git fetch 遠端倉庫名)
4、與本地倉庫的分支進行合併(git merge 遠端倉庫名/分支名)

在本地開發環境中反映Pull Request的內容:
1、將Pull Request接收方的倉庫clone或pull更新到本地倉庫。
2、將Pull Request傳送方的倉庫作為本地倉庫的遠端倉庫(git remote add 遠端倉庫名 遠端倉庫URL),並獲取傳送方倉庫的資料(git fetch 遠端倉庫名)。、
3、建立用於檢查的分支(git checkout -b)
4、將遠端倉庫內容與檢查分支的內容合併(git merge 遠端倉庫名/遠端倉庫分支名)
5、刪除分支(git branch -D 分支名)

採納Pull Request:
方法一:
找到相應Pull Request頁面,點選Merge Pull Request按鈕,隨後Pull Request的內容會自動合併至倉庫。
方法二:手動合併
1、合併到主分支(git checkout 主分支名,git merge 遠端倉庫名/遠端倉庫分支名)
2、push修改內容(git push),用這種方法處理後,倉庫的Pull Request會自動從Open狀態變為Close狀態。