版本控制是指對軟體開發過程中各種程式**、配置檔案及說明文件等檔案變更的管理,是軟體配置管理的核心思想之一。
版本控制最主要的功能就是追蹤檔案的變更。
集中式版本庫是集中存放在**伺服器的,工作的時候,使用自己的電腦,要先從**伺服器取得最新的版本,然後開始工作,結束後,再把自己的變更推送給**伺服器。
示例圖:
缺點是必須聯網才能工作,操作時每一步都需要和伺服器互動資料,對網路頻寬要求很高,檔案過大時速度很慢
分布式分布式版本控制系統本身沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫。
和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。
在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。
示例圖:
區別以 svn(集中式),git(分布式)舉例
集中式(svn)
分布式(git)
是否有**伺服器
有。開發人員需要從**伺服器獲得最新版本的專案然後在本地開發,開發完推送給**伺服器。因此脫離伺服器開發者是幾乎無法工作的
沒有**伺服器,開發人員本地都有 local repository
網路依賴
必須要聯網才能工作,而且對網路的依賴性較強,如果推送的檔案比較大而且網路狀況欠佳,則提交檔案的速度會受到很大的限制
分布式在沒有網路的情況下也可以執行commit、檢視版本提交記錄、以及分支操作,在有網路的情況下執行 push 到 remote repository
檔案儲存格式
按照原始檔案儲存,體積較大
按照元資料方式儲存,體積很小
是否有版本號有沒有
檔案儲存格式
按照原始檔案儲存,體積較大
按照元資料方式儲存,體積很小
分支操作的影響
建立新的分支則所有的人都會擁有和你一樣的分支
分支操作不會影響其他開發人員
提交提交的檔案會直接記錄到**版本庫
提交是本地操作,需要執行push操作才會到主要版本庫
SVN版本控制器(一)
介紹 svn,subversion,開源的版本控制系統,可以將資料恢復到早期版本,或者檢查資料修改的歷史,這些資料可以是源 也可以是其他型別的檔案。適用多人共同開發專案。功能 1 根據檔案修改的次數自動增加版本號以便找回歷史檔案 2 防止多人開發時同時修改一類檔案導致檔案覆蓋或被刪除 安裝 1 伺服...
版本控制器 Git
版本控制器 集中式 分布式 集中式 cvs svn等 缺點 必須聯網,必須推送到 伺服器 分布式 git等 不必聯網,速度快,安全性很高,每個人的電腦都有完整的版本庫 git的使用 一 安裝 linux安裝 git 檢視是否安裝 debian或ubuntu linux sudo apt get in...
git版本控制器
git是目前世界上最先進的分布式版本控制系統。將雲端專案 拉取到本地,在git bash下執行 git clone 專案位址 建立本地分支 git branch dev 建立乙個dev分支 git branch a 檢視分支資訊,上部分為本地 下部分為遠端 git push 把 提交到雲端git p...