GitHub團隊項目合作流程


已在另一篇博客中寫出關於以下問題的解決,點此進入

  • 同步團隊項目到本地時出現沖突怎么辦?
  • 項目負責人merge一個Pull Request后發現有錯怎么回退?

目錄:

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


零、前期准備:

首先把隊友直接push的權限關掉,即設置成Read。這樣可以防止隊友誤操作,未經審核就把代碼push到團隊項目上。
Teams用來分配issue的時候會用到,所以保留下來,並不是沒有用。

一、創建開發分支

master分支一般用來發布穩定版本,dev分支(開發分支)用來發布開發版本。
輸入分支名稱后,下面會跳出Create branch,點擊即可創建。

下面圖片寫的是develop,是因為我們這個項目已經有dev分支了。如果你們沒有dev分支,那么名字改成dev即可。這個影響不大。

分支創建完畢后,會自動跳轉到dev分支。由於dev分支是從master分支上創建的,因此內容與master分支一致。

二、Fork項目到個人的倉庫

點擊右上角的Fork,並選擇你的賬號(一般在第一個)。就可以Fork團隊項目到個人倉庫啦。

Fork完成后

三、Clone項目到本地

首先是clone,clone的地址可以直接點擊按鈕復制(如下圖)。

推薦使用SSH協議,用HTTP協議有時會出問題。
注意,這里clone的是你自己倉庫里的項目

打開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 即可。

上面的操作完成后,你就可以在本地進行開發了。但是如果要將你修改完的代碼合並到團隊項目上,還需要進行下面的操作。

四、和團隊項目保持同步

首先查看有沒有設置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的時候,有可能碰到沖突。需要解決沖突才能繼續下面的操作。沖突的解決可以參考→ 沖突的解決

五、push修改到自己的項目上

解決沖突后,就可以使用 git push 命令將本地的修改同步到自己的GitHub倉庫上了。

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

六、請求合並到團隊項目上

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

下圖左邊紅框,表示要合並到fzu2015/CourseManagement項目的dev分支。
下圖右邊紅框,表示要從自己倉庫的dev分支發起合並請求。
點擊紅框處的 Create pull request就可以發送合並請求了。

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

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

七、團隊項目負責人審核及同意合並請求

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

選擇一個Pull request

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

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

  • 另一個是下圖的②。點擊進去后,就可以查看該Pull request對項目做了哪些修改。這樣如果有問題,可以及時發現,並關閉該Pull request。

    如果關閉了,一定要告訴隊友,否則他可能會不知道。雖然也可以直接在下面發布Comment告訴他,但隊友不一定看到。

  • 如果沒有問題,可以點擊Merge pull request。這樣就合並好了。


免責聲明!

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



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