版本控制介紹以及常用的版本控制工具


版本控制是指對軟件開發過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。

編寫一個成熟可用的程序是一個工作量很大的工程,並非我們一次性就可以搞定的工作,所以在開發過程當中需要:

      1、  多人協作

              隨着對程序體驗的需求的提高,一個程序需求的編程知識和模塊也在增多,這種情況下讓一個程序員同時掌握多門技術是不好實現的:

              1、掌握的難度大,開發的成本高(比如:一個大牛的工資)

              2、開發效率高,一個人開發的效率是不行的

              所以,我們在工作當中大部分講究的是協作開發,我們以項目需求的技術模塊進行團隊的組合。

              比如:開發一個web項目:如果要招聘一個web大牛,前端、后端、運維服務器都很牛的大牛,薪資高先不說,人也不好找啊。並且一個大牛的開發效率

              和開發壓力也很大。所以我們會形成一個開發的團隊,找前端開發工程師,后端開發工程師,運維工程師,數據庫工程師來完成這個艱巨的任務。

       2、  版本迭代

              就好像一個美術家要完成一件作品,並不是一蹴而就的,好多時候是經歷過多次修改的過程,我們編程也是一樣的,當然這個修改要有原則,並不是推

             倒重來的過程(當然前期無葯可救的不算),而是有簡單的一個完整的框架開始,然后不斷優化升級的過程,這個過程就是版本迭代。

那在這個過程當中,我們需要對代碼進行管理,比如:提交、檢出、回溯歷史、沖突解決、多人協作。那這些需求也就衍生出了我們要學習使用的版本控制工具。

各個公司由於開發的需求和其他因素用到的版本控制工具不都相同,這里我們介紹幾種使用較多的版本控制工具。

        Cvs:  是一個C/S系統,是一個常用的代碼版本控制軟件。主要在開源軟件管理中使用。多個開發人員通過一個中心版本控制系統來記錄文件版本,從而達到

        保證文件同步的目的。是一種很古老的版本控制工具了,但是是很典型的集中式版本控制工具

        SVN: 是一個開放源代碼的版本控制系統,相較於RCS、CVS,它采用了分支管理系統,它的設計目標就是取代CVS。可以說是集中式版本控制的集大成            者。

        Git:   是一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。是一種分布式的版本控制工具

        GitHub:gitHub是一個面向開源及私有軟件項目的托管平台,因為只支持git 作為唯一的版本庫格式進行托管,故名gitHub。

 上面介紹了我們常用的四種版本控制軟件,但是也要給大家解釋兩個概念:

分布式版本控制:分布式的版本控制就是每個人都可以創建一個獨立的代碼倉庫用於管理,各種版本控制的操作都可以在本地完成。每個人修改的代碼都可以推

送合並到另外一個代碼倉庫中。

集中式版本控制:只有一個中央控制,所有的開發人員都必須依賴於這個代碼倉庫。每次版本控制的操作也必須鏈接到服務器才能完成。

所以很多公司喜歡用集中式的版本控制是為了更好的控制代碼。如果個人開發,就可以選擇Git這種分布式的。並不存在那個更加好或者其他的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM