小團隊Git協作流程
阿新 • • 發佈:2018-12-30
git和svn 最大的差異在於git是分散式的管理方式而svn是集中式的管理方式。
集中式
集中式程式碼管理的核心是伺服器,所有開發者在開始coding之前必須從伺服器獲取程式碼,然後開發,最後解決衝突,提交。所有的版本資訊都放在伺服器上。
基於集中式的程式碼管理,完全依賴於程式碼伺服器,如果是離線的情況下伺服器不能連線,那本地的所有修改將無法提交,當然也無法還原到上個版本、無法對比。這對於快速迭代將是致命的!
分散式
分散式和集中式最大的區別就是:每個開發者機器都是一個獨立的程式碼伺服器。這樣即使無法連線到伺服器時,本地同樣可以做合併、還原、對別、提交等操作。
具體協作流程
-
執行 git clone
-
在本地建立分支,進行coding
git checkout -b tianpo
-
在本地建立的分支上提交程式碼
git add . git commit -m 'add files'
-
每天把本地分支push到遠端倉庫同名分支上,每個人都有自己的遠端分支;
git push 倉庫地址 master:tianpo
-
程式碼維護人員每天下班前把各個專案成員的分支fetch到本地,然後依次合併到devlop分支,任何一個成員的分支出現問題,及時當面解決衝突。所有分支合併完成,把整合好的devlop分支push到遠端倉庫devlop分支。
git checkout -b tianpo
git fetch orign tianpo:tianpo
git checkout devlop
git merge tianpo
-
專案組員每天開始coding之前fetch下遠端倉庫中devlop分支併合併到自己的分支上。
在整個開發週期按照上述步驟迭代,實現小團隊之間的協作。