原始碼版本控制

來源:互聯網
上載者:User

原始碼版本控制

  這是軟體開發中一個十分重要的工程手段,幾乎是必須的一個Process(過程)。很多作坊式的Team Dev在採用軟體工程的一些方法的時候,第一個要進行改進或增加的,往往就是這個過程。對初學者學習而言,建議在開始進行實踐小項目的階段即進行原始碼版本控制,因為這在以後的工作中,是一定會用到的。

  原始碼版本控制的基本原理如下:

  在伺服器端建立該項目的資料庫,並儲存你選定的項目源檔案的第一個版本。用戶端任一使用者要獲得某源檔案的修改權利,需進行check out操作。之後用戶端一般每完成一個無編譯錯誤的版本想儲存的時候,進行check in操作,將目前的版本儲存在伺服器端上並成為最新版本(注意,不是覆蓋以前的喲)。任一用戶端可以方便地得到伺服器上的檔案的任意版本(如果有許可權的話)。一般還實現了一個重要的功能是版本比較,任一用戶端可以利用版本控制工具對某檔案的不同版本進行版本比較,它會標記出不同版本的同名檔案的不同點,可以輕易地看出版本內容的演化,這一招很常用。 下面介紹一下我接觸過的三種版本控制工具(也是國內用得比較多的):

  VSS: Visual Sourcesafe

  這是微軟Visual Studio內建的原始碼版本控制工具,它最大的特點就是易安裝(與Visual Studio整合在一起,裝VC/VB的時候就順便搞定,不用別外費工夫),使用簡單(伺服器端設定相對容易,一般個人稍加摸索就可以輕鬆搞定,用戶端更是只管check in/out),準系統完善,版本比較很直觀(我喜歡)。它的特點是某人check out了某版本以後,別人將無法對此版本check out,也就是說同一時間只有一個可以修改某一個檔案,這樣就避免了不同的人對同一檔案的修改造成彼此衝突(註:可通過設定伺服器端實現多人check out,但幾乎不會這樣做,因為那樣就失去了VSS的一個最重要的功能)。另,VSS可整合於VS環境,但根據我的經驗,直接在VC裡對版本的check操作,常常不生效,所以最好還是到VSS程式裡去進行check操作。補充:單機上也可以使用VSS,這樣的好處是在對當前某些檔案進行了誤操作或大規模地誤修改之後,可以恢複到最近的無錯誤的版本,最大程度地挽回損失。VSS實際應用較普遍,如果你是走Visual Studio路線的話,一定要用一下。

  CVS: Concurrent Versions System

  這個也是一個大名鼎鼎的開源的版本控制工具,主要活躍在UNIX世界。CVS我使用不多,一般而言好像功能比較偏向於命令列方式(UNIX下開發很多人也都使用著命令列方式)。當然,Windows下面也實現了幾個版本的CVS,也可以整合於VS,好像還有一個可以掛接在IE上的,我沒試過。著名的開源專案管理網站sf.net也是用的CVS,如果你要和全世界的程式員一起協作開發,CVS是必須要安裝的。在JAVA的世界裡,也是以CVS為主。

  Rational Clearcase

  這個工具就比較上檔次了,Rational公司(現在是IBM)的出品,價格昂貴。我最初參加工作的時候用過一小段時間,簡單談一下。這個工具的特點是複雜,安裝及設定就十分複雜,我的印像中用戶端甚至不得不加入到NT域裡面去,導致我在原生許可權都不夠,安裝新程式都很麻煩,很鬱悶(不知道是不是我們公司的相關人員安裝設定錯了,想來應該是這樣,但其複雜性可見一斑)。對使用而言,它有一個功能挺有用的,就是它能夠根據你每次check的版本號碼,自動產生版本樹(一個樹狀圖表),你可以清晰地看到版本的演化過程。所以嚴格地說,像CVS/Clearcase這樣的才真正稱得上“版本”控制,VSS還太勉強。Clearcase的功能十分強大,我不詳述了(我還不想出書),較適於大型軟體公司實施軟體組態管理時採用。雖然它的名氣十分之響亮,但我不知道國內有多少公司在真正使用正版的Clearcase這樣的工具,想來應該是十分之少。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.