避免衝突(Mark as Merged) 如果存在衝突的文件,系統會對其進行更高安全性能的保護。 需要開發人員確認衝突已經排除之後,用滑鼠右鍵單擊該文件,選擇 Mark as Merged命令,該命令標明文件已經過開發人員的驗證,衝突 已經被避免。之後才可用Commit 命令進行提交 ...
一、CVS介紹
併發版本系統(Concurrent Versions System——CVS)是一個常用 的代碼版本控制系統。
使用CVS可以對代碼進行集中管理,記錄代碼所有的更改歷史,提供 協作開發的功能並支持多人同時修改代碼文件。
利用版本控制軟體的好處(記憶)
- 隨時將程式恢復到以前某一時間點。
- 實現程式的互斥性修改。能夠實現某一程式在同一時間只能由一個開發人員修改。
- 對程式修改進行有效的管理。可以將用戶分為管理員和程式員兩種角色,只有管 理員可以將程式凍結(Freeze)和解凍(Unfreeze),被凍結的程式是不允許 修改的。
- 將開發環境與測試環境、運行環境進行有效的隔離。
- 評估軟體開發人員編寫的程式質量,控制軟體開發的進度。
- 管理文檔。使用者可以在版本控制中建立專門的文件夾,用於存放軟體開發過程 中生成的各種文檔。
二、常用版本控制軟體
有哪些常用的版本控制軟體(重點、記憶)
- Rational ClearCase(兩控兩管): ClearCase涵蓋的範圍包括版本控制、建立管理、工作空間管理和過程 控制;ClearCase支持現有的絕大多數操作系統。ClearCase安裝、配置、使 用相對較複雜,需要進行團隊培訓。
- Visual SourceSafe(VSS):是一種很好的入門級的配置管理工具。易 學易用,採用標準的Windows操作界面。VSS提供共用、分支和合併功能,支持團隊開發。 VSS只能在 Windows平臺上運行,不能運行在其他操作系統上。VSS安全性不高。VSS的用戶可以在文件夾上設置不可讀、可讀、可讀 /寫、可完全控制四級許可權。VSS不收費,對用戶的數目沒有限制。
- CVS:是開放源代碼軟體世界的一個偉大傑作,簡單易用、功能強大、 跨平臺、支持併發版本控制,而且免費;其最大的遺憾就是缺少相應的技術支持,許多問題的解決需要使用者 尋找資料,甚至是讀源代碼。
三、CVS的安裝與配置
CVS Control Panel 的設置(重點、記憶)
- 1)About頁面提供了CVS產品的版本、來源以及服務狀態等信息。
- 2)CVS資源庫的設置。我們通過IDE對代碼進行編輯,最終都要提交 到這個文件夾中。
- 3)Control Panel中的其餘頁。對於一般開發,使用預設設置即可。
CVS訪問許可權的設置(瞭解)
1、管理員賬戶:一般來說,給機器安裝CVS的Windows系統管理員,也擁有CVS管理 員的許可權。【更改和刪除】
2、一般用戶賬戶:一般用戶賬戶不應該擁有管理員賬戶那麼多的許可權。
將軟體載入CVS資源庫(瞭解)
1)打開Eclipse的CVS Perspective, 創建一個新的CVS資源庫連接。 滑鼠右擊CVS Perspective視圖區域, 彈出快捷菜單,在New子菜單中選擇 Repository Location…選項,在彈出 的視窗中進行相關設置。
2)回到Java視圖,將項目載入CVS庫中。 滑鼠右擊項目,在彈出的菜單中選擇Team → Share Project。 在彈出的對話框中,可以進行一些信息的選擇,包括CVS連接、提交時 的說明文字等。
提出(Check Out)
- 首先,我們要從CVS資源庫中複製一個軟體鏡像到本機的workspace 中,在複製過來的這一時刻,代碼和CVS上的代碼是一致的。
- 然後,可以在這份代碼的基礎上進行修改,CVS能分辨出兩者之間的 區別,當提交代碼時,需要進行一些融合的工作。這項操作稱為 Check Out。
代碼同步(Synchronize): 如果想要將本地代碼與資源庫代碼保持一致,就需要選擇 Team → Synchronize with Repository。
1)更新本地文件(Update) 對於Incoming的文件,CVS資源庫上的文件完全包含了本地文件的代 碼,並擁有新的代碼。用滑鼠右鍵單擊該文件,選擇Update,這樣就 將本地文件更新成與CVS一致的狀態了
2)提交本地文件(Commit) 對於Outgoing的文件,本地文件包含了CVS上該文件的所有代碼,並 且有新的代碼添加,選擇Commit命令,這樣CVS上的文件就更新成本 地最新提交的版本了。
3)避免衝突(Mark as Merged) 如果存在衝突的文件,系統會對其進行更高安全性能的保護。 需要開發人員確認衝突已經排除之後,用滑鼠右鍵單擊該文件,選擇 Mark as Merged命令,該命令標明文件已經過開發人員的驗證,衝突 已經被避免。之後才可用Commit 命令進行提交