SVN使用教程

2021-09-26 16:11:44 字數 4235 閱讀 5271

啟動與停止服務

使用svn客戶端

參考資料

svn的全程是subversion,svn版本控制軟體可以解決協助開發遠端開發版本回退三個問題。

svn是輸入c/s服務類軟體,有客戶端和服務端。

# ubuntu

apt-get install subversion

# centos

yum install subversion

# 建立svn版本庫

$ mkdir /home/zhangsan/svnreporsity

# 建立專案

$ svnadmin create /home/zhangsan/svnreporsity/project

# 檢視

$ ls

conf db format hooks locks readme.txt

進入資料夾conf下,進行配置

配置 svnserv.conf

anon-access = none     # 使非授權使用者無法訪問

auth-access = write # 使授權使用者有寫許可權

password-db = password # 使用者密碼檔案

authz-db = authz # 訪問控制檔案

realm = /home/zhangsan/svn/project # 認證命名空間,版本庫所在目錄

# 採用預設配置,以上語句都必須頂格寫,左側不能留空格,否則會出錯

配置passwd(格式:帳號=密碼)
[users]

# harry = harryssecret

# sally = sallyssecret

zhangsan = 123456

配置authz許可權
[/]             //倉庫下所有檔案

zhangsan=rw //可讀可寫

lisi=r //唯讀

*= //其他使用者無任何許可權

# 分組

[groups]

zhang = zhangsan

li = lisi, liwu

[/]@zhang= rw

@li= r

* =

svnserve -d -r /home/zhangsan/svnreporsity

# -d 表示守護程序, -r 表示在後台執行

killall svnserve

svn checkout svn://ip/project

# 預設埠3690

svn checkout svn:

其他使用見客戶端

# 將檔案從版本庫檢出到本地

svn checkout svn:

# checkout 到指定資料夾

svn checkout svn: test_svn

# 簡寫

svn co

# 向版本庫新增新檔案

svn add a.txt

svn add *.txt

# 遞迴新增資料夾下所有內容

svn add b

# 已經新增的檔案修改後無法新增,只能用commit

svn commit -m '注釋內容' [-n] [--no-unlock] path

# 提交檔案

svn commit -m 'add a.txt' a.txt

# 提交資料夾

svn commit -m 'add b' b

# 簡寫

svn ci

# 更新到最新版本

svn update

# 只更新某個特定檔案

svn update a.txt

# 還原到指定版本

svn update -r 1

# 還原某個檔案到指定版本

svn update -r 1 c.txt

# 簡寫

svn up

svn lock -m '加鎖注釋內容' [--force] path

# 加鎖

svn lock -m "鎖定檔案" a.txt

# 解鎖

svn unlock a.txt

# 檢視或目錄狀態

svn status

svn st

# 顯示檔案及子目錄的狀態,正常不顯示

# ? 不在svn的控制中

# m 內容被修改

# c 發生衝突

# a 預訂加入到版本庫

# k 被鎖定

# 刪除版本庫中檔案

svn delete svn: -m 'delete c.txt'

# 然後執行更新

svn update

# 推薦使用

svn delete c.txt

svn commit -m 'delete c.txt'

# 簡寫

svn (del, remove, rm)

svn revert a.txt
# 顯示這個檔案的修改記錄,及版本號的變化

svn log a.txt

# 顯示當前目錄資訊

svn info

# 顯示某檔案資訊

svn info a.txt

# 比較當前修改和版本庫中的差異

svn diff c.txt

# 版本之間對比

svn diff -r 1:2 a.txt

# 簡寫

svn di

# 將3版本和4版本合併到當前檔案

svn merge -r 3:4 c.txt

# 但是一般都會產生衝突,需要處理一下

svn help

svn help update

svn switch url
# 移除工作副本的目錄或檔案的「衝突」狀態

svn resolved c.txt

# 注意: 本子命令不會依語法來解決衝突或是移除衝突標記;它只是移除衝突的

相關檔案,然後讓 path 可以再次提交

先更新(update),解決衝突之後,再提交

select: (p) postpone, (df) diff-full, (e) edit,

(mc) mine-conflict, (tc) theirs-conflict,

(s) show all options:

解析:(p) postpone 把伺服器**和自己的**都顯示出來,供我們解決

(df) diff-full 命令列顯示衝突內容,不好看

(e) edit 修改,不要這麼做

(mc) mine-conflict 只使用自己的**,刪除伺服器的

(tc) theirs-conflict 只使用伺服器的,刪除自己的**

(s) show all options 再重新列印一下這個選擇日誌

注意:選擇 p 之後會多幾個檔案

1.m 多了 1.m.mine 1.m.r8 1.m.r9

1.m.r8 :版本是8的時候的檔案內容

1.m.r9 :版本是9的時候的檔案內容

1.m.mine :當前自己檔案的內容

開啟1.m檔案,根據衝突內容進行修改即可.

重點 : 一定要刪除這幾行

<<<<<<< .mine

*****==

>>>>>>> .r9

<<<<<<< .mine 自己本地檔案中的內容

//修改了第1行

//第二行

*****== 分割線:下邊的是伺服器上的內容

//修改了第1行

//第2行

>>>>>>> .r9

SVN使用教程

附 部分學習筆記 1 每天早上上班要update svn,每天下班要commit svn。2 檢視是誰動了我的 右鍵 tortoise 後檢視 log 日誌。3 檔案被別人刪除,在空白處右擊,show log,可以檢視整個庫的所有增刪改查操作記錄,如果單個檔案還在,只想檢視該檔案記錄,那就在該檔案上...

svn 使用教程

svn是subversion的簡稱,是乙個開放源 的版本控制系統,相較於rcs cvs,它採用了分支管理系統,它的設計目標就是取代cvs。安裝完不要忘記重啟電腦 安裝完成後,按下滑鼠右鍵,會看到如下介面 說明svn已經安裝成功了。1 遷出配置庫內容 svn checkout 1 新建或進入目錄下 比...

SVN使用教程

引言 svn是乙個自由 開源的版本控制系統,一組檔案存放在中心版本庫,記錄每一次檔案和目錄的修改,subversion允許把資料恢復到早期版本,或是檢查資料修改的歷史,subversion可以通過網路訪問它的版本庫,從而使使用者在不同的電腦上進行操作。正文一 svn伺服器搭建和使用 location...