版本控制系統Subversion

2022-05-15 11:09:24 字數 3002 閱讀 5232

系統提供撤銷的功能對我們實際開發中特別重要。改動後撤銷幾乎也是我們每個人經常做的事情。再多人進行同乙個專案的開發或者測試的時候,版本的唯一性(類似於臨界區資源),也就是說a 和

b 兩個人協同工作的時候不能同時對同乙個檔案改動,並儲存成功。否則就會出現不一致問題。版本控制系統很好的解決了這一問題,並且提供日誌檔案,記錄改動的各種資訊,方便撤銷操作。

版本控制系統就是一套在程式開發過程中儲存源**所有修改的工具。此處主要介紹

subversion

的用法。

1、安裝

subversion

ubuntu

在安裝源中提供了

subversion

sudo apt-get update

sudo apt-get install subversion

##全部小寫

測試安裝結果:

svn -–version

svnadmin –version

結果如下表示安裝成功:

2、建立專案倉庫

專案倉庫用來儲存各種檔案的主要場所,以目錄以作為載體。建立倉庫

svn_test

。將專案所有相關的源**放在這裡面。

zhuxy@ubuntu:~$ mkdir /home/zhuxy/svn_test

zhuxy@ubuntu:~$ svnadmin create /home/zhuxy/svn_test

沒報錯沒的話就是建立成功了。此時在

svn_test

下面已經有部分檔案了。

subversion

就是通過他們來記錄專案發生的過程。

3、建立專案並匯入原始檔

第一步建立兩個專案;第二步匯入原始檔到專案倉庫中

命令解析:

import

為匯入源**命令。目的是

file:///home/zhuxy/svn_test/project

。一般會是網路上的乙個站點(目錄)。本地採用本地目錄,

「file

://」

表示協議。

subversion

支援http

、ssh

協議。project

為本地的專案名,這並不是實際存在的乙個專案,而是乙個

「邏輯上

」的專案。為了防止自己把專案的名字忘記了,可以在本目錄下建立乙個

project

專案。但這個

project

專案中不會自動儲存任何內容。

」.「表示當前目錄,表示將當前目錄的所有檔案都匯入到專案倉庫中。

-m選項是為本次操作新增乙個操作說明,對於日誌檔案特別重要,相當於程式中的注釋,當出現問題時,可以根據提示資訊快速找到原因,即使省略該選項,

subversion

還是會強制要求輸入的。

4、開始專案開發

開發人員總是會在自己主機上建立乙個目錄,然後在這個目錄下編寫程式。下面這個目錄就是在使用者主目錄下面建立

work/project

目錄,接下來的」開發

「就放在此目錄下面。

下面從「

伺服器「

上取得原始檔的工作拷貝。

由於剛剛把原始檔匯入到了專案倉庫。所以在

subversion

的邏輯來看,這就是版本

」1「checkoutzhidao subversion

從伺服器簽出源資源。目標是

project

目錄。檢視

project

目錄,可以看到原始檔已經在裡面了。

此時project

目錄已經和專案

「file……/project」

已經在subversion

層面上建立了關聯,以後只要在

projec

目錄上執行的

svn update

就可以更新本地源**。

5、後續比較重要的幾個命令

客戶端修改結束儲存時可以檢視

svn中的源**有沒有在被修改(修改未提交)

svn status multiply.c

會顯示m

multiply.c

檢視修改的和原始檔的不同:

svn diffmultiply.c

修改後提交

svn commit -m 「

修改巨集定義巨集的錯誤

」完成提交後會檢視日誌檔案,會發現

multiply.c

的版本號變為

2svn log multiply.c

6、解決衝突的命令

如果兩個人同時對乙個檔案改動,就會發生衝突。

第乙個人提交可以順利提交(就是先提交的那個人,因為這樣子版本號自然

+1),第二個提交的就會報錯,因為版本號

+1已經被占用。

svn update

svn resolves multiply

7、撤銷改動

回滾到版本

3的狀態

svn merge -r 4:3 multiply.c

svn commit -m 「

鑑於效率,保留兩位數的除法巨集定義

版本控制系統

linux一直痛恨的cvs及svn都是集中式的版本控制系統,而git是分布式版本控制系統,集中式和分布式版本控制系統有什麼區別呢?1 集中式版本控制系統 代表 svn cvs 版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再...

版本控制系統

github是全球最大的開源專案託管平台,這個平台在技術領域也非常有影響力,託管必然離不開版本控制,下面就介紹一下版本控制系統。q1 什麼是版本控制系統?a 版本控制系統的英文名叫做vcs version control system 版本控制系統是以記錄目錄或檔案的改變為基礎的。試想一下,如果沒有...

git版本控制系統

總結 1.初始化乙個git倉庫,使用 git init 命令 2.新增檔案到git倉庫分兩步 第一步,使用命令 git add file 注意,可反覆多次使用,新增多個檔案 第二步,使用命令 git commit 完成小結 1 head 指向的是當前版本,因此可以使用 git reset hard ...