【原創】Github團隊協作之Pull請求


首先聲明:Github上關於代碼團隊協作方式有很多種,這里只講述Github上其中的一種代碼團隊協作方式。

 
Pull請求(Pull request)

1 綜述

    協作者 通過fork一個新的代碼庫用來獨立開發,並通過Github上的Pull Request,將變更貢獻回原始代碼庫。這其中對Github的要求較低,至少免費使用,操作也相對簡單,是一種不錯的協作方式。以下將圖文並茂的展示整個協作過程!
 

2 步驟

2.1 Fork拷貝原始代碼倉庫

     首先在原始代碼庫的Github網頁上Fork其代碼倉庫,此時會在自己的Github上生成原始代碼庫的一份拷貝。 注意這里有兩種用戶:原始代碼倉庫擁有者和Fork代碼倉庫擁有者。
  1. 輸入原始代碼庫網址
  2. 點擊網頁上的Fork按鈕,拷貝原始代碼倉庫,此時會跳轉到自己的Github賬號頁面上。

2.2 克隆Fork代碼倉庫到本地

    接下來使用git clone命令 克隆一份Fork代碼庫到本地計算機。
  1. git clone git@github.com:HengStruggle/GitTest.git
    進入到克隆下來的Git代碼庫里,可對文件進行修改,最后在提交到本地代碼倉庫。
  1. cd GitTest //進入到克隆下來的Git代碼庫里
    打印GitTest.txt文件內容,並在文件尾添加自己的用戶名,最后再提交到本地代碼倉庫。說明:一個較好的習慣是在master上另建一個分支,再進行修改,最后再提交新建的分支;主分支用於存儲原始代碼倉庫的代碼
1 cat .\GitTest.txt
2 "version 0.2 by HengStruggle">>.\GitTest.txt
3 git commit --all -m "version 0.2"

2.3 Push 本地代碼倉庫到Github代碼倉庫

    接下來將本地代碼倉庫推送到Github上的Fork代碼倉庫上,注意不是原始代碼倉庫。
  1. git push -u origin master

2.4 最后一步:Pull request

     進入我們fork的代碼庫的GitHub頁面,選擇需要提交給原始代碼倉庫的分支,然后點擊Pull Request按鈕,再點擊new pull request按鈕,最后再確認。如圖1,圖2,圖3。至此你作為協作者的任務已經完成,接下來的事就是等待原始倉庫擁有者合並你提交的代碼。
 
Ashampoo_Snap_2015.10.22_17h59m55s_006_.png
圖1
 
Ashampoo_Snap_2015.10.22_18h06m46s_009_.png
圖2
 
Ashampoo_Snap_2015.10.22_18h12m06s_011_.png
圖3
 

2.5 原始倉庫擁有者合並收到的Pull請求

    作為原始倉庫擁有者有兩種方式合並收到的Pull請求。說明:推薦在本地計算機上進行合並方式,靈活性較強。

2.5.1 在GitHub上合並

  1. Github上合並,首先要找到合並頁面。進入合並頁面的方式有多種,其中一種可以打開Github上主頁面,點擊左上角的鈴鐺圖標,可以查看最近收到的Pull請求;另外在主頁左邊也可以直接查看別人的請求信息。如圖4。
  2. 確保沒有沖突之后,點擊Merge pull request按鈕,如圖5。
  3. 最后合並成功,如圖6。
  4. 注意:在GitHub上進行合並,必須確保沒有沖突產生

2.5.1 在本地計算機上進行合並

  1. 合並前先在本地倉庫里新建一個分支
    1. git checkout -b HengStruggle-master master
  2. 拉取協作者遠程倉庫的Pull請求分支到本地倉庫,注意這里的Pull請求分支不一定總是master,要視具體情況而定。注意:這里拉取的是協作者的代碼倉庫的Pull請求分支!
    1. git pull https://github.com/HengStruggle/GitTest.git master
  3. 常規的合並分支並Push代碼
    1 git checkout master
    2 git merge --no-ff HengStruggle-master
    3 git push origin master
 
圖4
 

圖5
 
圖6



參考鏈接:使用GitHub進行團隊合作 - Danny Chen - 博客園

本文鏈接:http://www.cnblogs.com/cposture/p/4903767.html


免責聲明!

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



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