1. 程式人生 > >小團隊Git協作流程

小團隊Git協作流程

git和svn 最大的差異在於git是分散式的管理方式而svn是集中式的管理方式。

集中式

集中式程式碼管理的核心是伺服器,所有開發者在開始coding之前必須從伺服器獲取程式碼,然後開發,最後解決衝突,提交。所有的版本資訊都放在伺服器上。

基於集中式的程式碼管理,完全依賴於程式碼伺服器,如果是離線的情況下伺服器不能連線,那本地的所有修改將無法提交,當然也無法還原到上個版本、無法對比。這對於快速迭代將是致命的!

分散式

分散式和集中式最大的區別就是:每個開發者機器都是一個獨立的程式碼伺服器。這樣即使無法連線到伺服器時,本地同樣可以做合併、還原、對別、提交等操作。

具體協作流程

  1. 執行 git clone

     從程式碼倉庫克隆到本地

  2. 在本地建立分支,進行coding

    git checkout -b tianpo

  3. 在本地建立的分支上提交程式碼

    git add . git commit -m 'add files'

  4. 每天把本地分支push到遠端倉庫同名分支上,每個人都有自己的遠端分支;

    git push 倉庫地址 master:tianpo

  5. 程式碼維護人員每天下班前把各個專案成員的分支fetch到本地,然後依次合併到devlop分支,任何一個成員的分支出現問題,及時當面解決衝突。所有分支合併完成,把整合好的devlop分支push到遠端倉庫devlop分支。

    git checkout -b tianpo

    git fetch orign tianpo:tianpo

    git checkout devlop

    git merge tianpo

  6. 專案組員每天開始coding之前fetch下遠端倉庫中devlop分支併合併到自己的分支上。

在整個開發週期按照上述步驟迭代,實現小團隊之間的協作。