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。
命令解析: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的版本號變爲2
svn log multiply.c
6、解決衝突的命令
如果兩個人同時對一個文件改動,就會發生衝突。
第一個人提交可以順利提交(就是先提交的那個人,因爲這樣子版本號自然+1),第二個提交的就會報錯,因爲版本號+1已經被佔用。
svn update
svn resolves multiply
7、撤銷改動
回滾到版本3的狀態
svn merge -r 4:3 multiply.c
svn commit -m “鑑於效率,保留兩位數的除法宏定義”
聲明:此博文參考劉憶智的書籍Ubuntu從入門到精通,淺顯易懂,值得一讀。