GitHub團隊協做流程

說來慚愧,這麼長時間,第一次參與修改開源項目,因此整理了一份GitHub團隊協做流程,做爲備忘,文章大部份內容參考http://www.javashuo.com/article/p-ecejnzny-p.htmlhtml

GitHub開發流程

注:其中 零、1、七 是由團隊項目負責人來完成的。開發人員只要從 二 開始就好了。git

零、前期準備

首先把隊友直接push的權限關掉,即設置成Read。這樣能夠防止隊友誤操做,未經審覈就把代碼push到團隊項目上。
Teams用來分配issue的時候會用到,因此保留下來,並非沒有用。github

1、建立開發分支

master分支通常用來發布穩定版本,dev分支(開發分支)用來發布開發版本。
輸入分支名稱後,下面會跳出Create branch,點擊便可建立。fetch

下面圖片寫的是develop,是由於咱們這個項目已經有dev分支了。若是大家沒有dev分支,那麼名字改爲dev便可。這個影響不大。命令行

分支建立完畢後,會自動跳轉到dev分支。因爲dev分支是從master分支上建立的,所以內容與master分支一致。htm

2、Fork項目到我的的倉庫

點擊右上角的Fork,並選擇你的帳號(通常在第一個)。就能夠Fork團隊項目到我的倉庫啦。blog

Fork完成後圖片

3、Clone項目到本地

首先是clone,clone的地址能夠直接點擊按鈕複製(以下圖)。開發

推薦使用SSH協議,用HTTP協議有時會出問題。
注意,這裏clone的是你本身倉庫裏的項目rem

打開git命令行,輸入指令和剛纔複製的地址,回車便可克隆到本地

此時你只能看到master分支,並無把dev分支clone下來。使用 git branch 命令查看本地分支,發現本地只有master分支。以下圖的①

如上圖的②,使用 git branch -a 查看全部分支,就能看到遠程分支。
根據遠程分支,咱們能夠建立一個新的本地分支dev,並把該項目的dev分支的內容放到本地dev分支。如上圖③。

git checkout -b dev origin/dev 的意思是,建立一個dev分支(-b),並把遠程dev分支(origin/dev)的內容放在該分支內。接着切換到該分支(checkout)

如今使用 git branch 能夠查看兩個分支,而且用 ls 或者 dir 就能看到dev分支的內容了。想切換回master分支的時候,再用 git checkout master 便可。

上面的操做完成後,你就能夠在本地進行開發了。可是若是要將你修改完的代碼合併到團隊項目上,還須要進行下面的操做。

4、和團隊項目保持同步

首先查看有沒有設置upstream,使用 git remote -v 命令來查看。以下圖①

若是沒有顯示upstream,則使用 git remote add upstream 團隊項目地址 命令。如上圖②
接着再次使用 git remote -v ,若是如上圖③,顯示出了upstream,那麼就設置好了

開始同步。首先執行 git fetch upstream 獲取團隊項目最新版本。以下圖①

此時並無把最新版本合併到你本地的分支上,所以還須要一步。如上圖②,當前分支是dev分支,執行 git merge upstream/dev 命令後,會將源分支(upstream/dev)合併到當前分支(dev)。

若是你是在本地的master分支上開發,那麼在使用該命令前,先切換到master分支。
merge的時候,有可能碰到衝突。須要解決衝突才能繼續下面的操做。衝突的解決能夠參考→ 衝突的解決

5、push修改到本身的項目上

解決衝突後,就可使用 git push 命令將本地的修改同步到本身的GitHub倉庫上了。

注意,在當前所在分支使用push,會push到與這個分支相關聯的遠程倉庫分支。這裏dev分支與origin/dev關聯,所以push到GitHub上的dev分支。

6、請求合併到團隊項目上

首先到你的GitHub上,進入你Fork的倉庫裏。點擊紅框處的Pull request

下圖左邊紅框,表示要合併到fzu2015/CourseManagement項目的dev分支。
下圖右邊紅框,表示要從本身倉庫的dev分支發起合併請求。
點擊紅框處的 Create pull request就能夠發送合併請求了。

固然,在發送請求以前,你能夠檢查一下你都改了哪些東西。在上面那個頁面往下拉,就能夠看到二者的對比。以下圖

以上操做結束後,團隊成員的流程就結束了。最後一步交給團隊項目負責人來完成。

7、團隊項目負責人審覈及贊成合併請求

首先進入GitHub的團隊項目倉庫中。此時右邊的Pull requests顯示當前項目有幾個Pull request。點擊進入查看。

選擇一個Pull request

項目負責人審覈有兩個要注意的地方:

  • 一個是下圖的①。必定要看清楚是合併到哪一個分支。這裏是從schaepher的dev分支合併到fzu2015的dev分支。

  • 另外一個是下圖的②。點擊進去後,就能夠查看該Pull request對項目作了哪些修改。這樣若是有問題,能夠及時發現,並關閉該Pull request。

若是關閉了,必定要告訴隊友,不然他可能會不知道。雖然也能夠直接在下面發佈Comment告訴他,但隊友不必定看到。

  • 若是沒有問題,能夠點擊Merge pull request。這樣就合併好了。
相關文章
相關標籤/搜索