GitHub Pull Request工作流


請求發送方:

  0. 一般可以采用fork一份某倉庫(project-name)到自己的github

  1. 克隆該自己的github下的該倉庫到本地
      git clone git@github.com:user-name/project-name.git
    
  2. 創建本地倉庫project-name的分支特性倉庫(一般主流開發方式使用特性分支以及以特性分支提交Pull Request),如feature-A
      git checkout -b feature-A 

  3. 修改特性分支倉庫中的文件內容,提交修改
      git diff
      git add some-files
      git commit -m "some commits information strings"
    
  4. 在該特性分支下創建遠程分支
      git push origin new-remote-branch-project-name
      git branch -a

  5. 登錄github,並查看分支間的差別,確認無誤后可創建Pull Request並填寫相應的注釋說明提交該請求到fork的所在的倉庫所有者的分支

  6. 該fork的倉庫所有者將受到Pull Request請求,並可以處理該請求,或接受采納合並並回復注釋說明並關閉該請求,或者拒絕該請求並注釋說明

  7. 以上為通過fork方式提交Pull Request,也可以不進行fork而直接從分支發送Pull Request
      前提:用戶需要由對該倉庫有編輯的權限,則可直接創建分支,從分支發送Pull Request而不需要再單獨fork一份的麻煩.

接收方:
    
  0. 接收方倉庫所有者首先需要先fork並clone到自己的本地開發環境下,或者已clone的需要先pull、push等操作以更新至最新狀態
    
  1. 將Pull Request發送方的倉庫設置為本地倉庫的遠程倉庫(給Pull Request發送方設置某個簡易的名稱PRsender(或者其他的),此后便可使用該名稱來操作git)
      git remote add PRsender git@github.com:sender-name/project-name.git
      git fetch PRsender
      以上操作將獲取到發送方的倉庫及分支的數據
    
  2. 創建用於檢查Pull Request的分支,如: PR-feature-A
      git checkout -b PR-feature-A
    
  3. 合並該創建的分支(PR-feature-A)與發送方的倉庫分支
      git merge PRsender/feature-A
      合並后,可通過一些自動測試的檢查工具,看是否可以正常運行

  4. 檢查后該PR-feature-A分支可以刪除
      git branch -D PR-feature-A
    
  5. 找到Pull Request請求頁面,找到相應的請求項內容,若采納則可執行合並操作,否則提交解釋信息,此后便可關閉該Pull Request

  6. 對於合並到主分支,可以采用以下方式:
      git checkout master
      git merge PRsender
      git diff
      git push
      以上方式將倉庫的Pull Request自動從Open狀態轉為Close狀態
    
  7. 對於安全的接收Pull Request請求,一定要靈活的創建分支、合並分支等操作,此外對於簡單的代碼可以用github網頁執行合並Pull Request請求,
      不過對於復雜的情況時,建議采用創建檢查分支、合並分支的方式,避免出現錯誤的、無法運行的代碼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM