關於版本控制
什么是版本控制?版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統。在本書所展示的例子中,我們僅對保存着軟件源代碼的文本文件作版本控制管理,但實際上,你可以對任何類型的文件進行版本控制。
Git:分布式版本控制體統,
是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。
Git的功能特性:
1、從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到自己電腦上。

2、在自己的電腦上根據不同的開發目的,創建分支,修改增刪代碼。
3、在自己的電腦里,自己創建的Git分支上提交代碼,提交到自己本地的Git倉庫;

4、在電腦上合並分支。

5、推送到自己的服務器,(沒有完成,不想讓別人知道的前提下!)
6、推送到公用服務器上,(已完成!)

7、看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過。

《每天修改的時候記得在主服務器上獲取一下最新的版本,以防沖突》
優點:
適合分布式開發,強調個體。
公共服務器壓力和數據量都不會太大。
速度快、靈活。
任意兩個開發者之間可以很容易的解決沖突。
離線工作。
缺點:
學習周期相對而言比較長。
不符合常規思維。
較復雜
安裝包鏈接:http://pan.baidu.com/s/1nvJFxrV 密碼:zav2
SVN是集中式版本控制系統,
說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。
集中式管理的工作流程如下圖:
集中式代碼管理的核心是服務器,所有開發者在開始新一天的工作之前必須從服務器獲取代碼,然后開發,最后解決沖突,提交。所有的版本信息都放在服務器上。如果脫離了服務器,開發者基本上可以說是無法工作的。
1、從服務器下載項目組最新代碼。
2、進入自己的分支,進行工作,每隔一個小時向服務器自己的分支提交一次代碼(很多人都有這個習慣。因為有時候自己對代碼改來改去,最后又想還原到前一個小時的版本,或者看看前一個小時自己修改了哪些代碼,就需要這樣做了)。
3、最后,把自己的分支合並到服務器主分支上,一天的工作完成,並反映給服務器。
這就是經典的svn工作流程,從流程上看,有不少缺點,但也有優點。
優點:
1、管理方便,邏輯明確,符合一般人思維習慣。
2、易於管理,集中式服務器更能保證安全性。
3、適合開發人數不多的項目開發。
4、相對簡單,好操作。
缺點:
1、服務器壓力太大,數據庫容量暴增。
2、如果不能連接到服務器上,基本上不可以工作,
3、如果服務器不能連接上,就不能提交,還原,對比。
3、不適合開源開發。但是一般集中式管理的有非常明確的權限管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。
PS:昨天晚上研究了大半夜的成果!