Github團隊協(xié)作之Pull請求
作者:佚名
首先聲明:Github上關于代碼團隊協(xié)作方式有很多種,這里只講述Github上其中的一種代碼團隊協(xié)作方式。
首先聲明:Github上關于代碼團隊協(xié)作方式有很多種,這里只講述Github上其中的一種代碼團隊協(xié)作方式。
Pull請求(Pull request)
1 綜述
協(xié)作者通過fork一個新的代碼庫用來獨立開發(fā),并通過Github上的Pull Request,將變更貢獻回原始代碼庫。這其中對Github的要求較低,至少免費使用,操作也相對簡單,是一種不錯的協(xié)作方式。以下將圖文并茂的展示整個協(xié)作過程!
2 步驟
2.1 Fork拷貝原始代碼倉庫
首先在原始代碼庫的Github網(wǎng)頁上Fork其代碼倉庫,此時會在自己的Github上生成原始代碼庫的一份拷貝。注意這里有兩種用戶:原始代碼倉庫擁有者和Fork代碼倉庫擁有者。
- 輸入原始代碼庫網(wǎng)址
- 點擊網(wǎng)頁上的Fork按鈕,拷貝原始代碼倉庫,此時會跳轉到自己的Github賬號頁面上。
2.2 克隆Fork代碼倉庫到本地
接下來使用git clone命令克隆一份Fork代碼庫到本地計算機。
-
git clone git@github.com:HengStruggle/GitTest.git
進入到克隆下來的Git代碼庫里,可對文件進行修改,***在提交到本地代碼倉庫。
-
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代碼倉庫上,注意不是原始代碼倉庫。
-
git push -u origin master
2.4 ***一步:Pull request
進入我們fork的代碼庫的GitHub頁面,選擇需要提交給原始代碼倉庫的分支,然后點擊Pull Request按鈕,再點擊new pull request按鈕,***再確認。如圖1,圖2,圖3。至此你作為協(xié)作者的任務已經(jīng)完成,接下來的事就是等待原始倉庫擁有者合并你提交的代碼。

圖1

圖2

圖3
2.5 原始倉庫擁有者合并收到的Pull請求
作為原始倉庫擁有者有兩種方式合并收到的Pull請求。說明:推薦在本地計算機上進行合并方式,靈活性較強。
2.5.1 在GitHub上合并
- Github上合并,首先要找到合并頁面。進入合并頁面的方式有多種,其中一種可以打開Github上主頁面,點擊左上角的鈴鐺圖標,可以查看最近收到的Pull請求;另外在主頁左邊也可以直接查看別人的請求信息。如圖4。
- 確保沒有沖突之后,點擊Merge pull request按鈕,如圖5。
- ***合并成功,如圖6。
- 注意:在GitHub上進行合并,必須確保沒有沖突產生
2.5.1 在本地計算機上進行合并
- 合并前先在本地倉庫里新建一個分支
-
git checkout -b HengStruggle-master master
-
- 拉取協(xié)作者遠程倉庫的Pull請求分支到本地倉庫,注意這里的Pull請求分支不一定總是master,要視具體情況而定。注意:這里拉取的是協(xié)作者的代碼倉庫的Pull請求分支!
-
git pull https://github.com/HengStruggle/GitTest.git master
-
- 常規(guī)的合并分支并Push代碼
1 git checkout master 2 git merge --no-ff HengStruggle-master 3 git push origin master

圖4

圖5

圖6
責任編輯:李英杰
來源:
博客園