1. 程式人生 > >程式碼管理工具 git svn

程式碼管理工具 git svn

程式碼管理工具常用的有 git svn

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

集中式管理的核心是伺服器

所有開發者在開始新一天的工作之前必須從伺服器取程式碼,讓後開發,最後解決衝突,提交所有的版本資訊到伺服器上。如果脫離了伺服器所有的工作是無法進行的

舉例來表示

從伺服器下載專案組最新的程式碼

進入自己的分支開始敲程式碼 每隔一小時就會提交一次程式碼(很多人一般都是這樣做的,因為有時候會對自己的程式碼改來改去,最後又想還原自己原來的哪個版本,就需要這樣做了)

下班時間快到了,把自己的分支合併發在伺服器的主分支上,一天的工作就王完成了,並放映給伺服器

這就是svn工作流程

在這裡插入圖片描述

缺點:

伺服器壓力太大,資料庫容易暴增

如果不連線伺服器是基本上不能工作的或者如果不能連線上伺服器,就不能提交 還原 對比

不適合開源開發但是一般集中式管理的有非常明確的許可權管理機制(可以分支訪問許可權)可以實現分層管理,而很好的解決開發人數眾多的問題

優點:

管理方便,邏輯明確,符合一般人的思維習慣

易於管理 集中式管理伺服器更容易保證安全性

程式碼一致性非常高

適合人數不多的人開發

git分散式管理

伺服器本地有個程式碼倉庫,從伺服器更新程式碼,上傳程式碼

若自己想要伺服器最新的程式碼由原生代碼倉庫將伺服器的程式碼下載下來,

再通過原生代碼倉庫的專案下載到自己電腦上

使用者自己在本地修改完程式碼後先提交到本地的程式碼倉庫

再由本地的程式碼倉庫提交到伺服器

程式碼的提交與更新首先會通過原生代碼倉庫,原生代碼倉庫再通過伺服器,並不是直接交給伺服器來進行管理 這樣減輕了伺服器的壓力
在這裡插入圖片描述