啟動與停止服務
使用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...