svn學習筆記4 高階應用

2022-03-22 12:18:29 字數 2209 閱讀 6015

工作副本相關命令:

svn list       -列出當前目錄下處於版本控制的所有檔案

svn status       -列出工作副本中的檔案(夾)的狀態

svn log      -檢視提交日誌(來自svn ci 的 -m引數)

svn info     -工作副本及檔案(夾)的詳細資訊

svn list = svn ls  只會列出處於版本控制的檔案的頂級目錄,而不會遞迴顯示出來,

svn ls --recursive 會遞迴顯示出來處於版本控制的所有資料夾下的檔案

svn ls -v --recursive 會顯示處於版本控制下檔案詳情.

svn status 列出工作副本的檔案狀態 ,

?    -無版本控制

d   -已被標記從版本庫中刪除

m  -已被編輯過

a   -已被標記增加到版本控制中

r   -檔案被替換

c   -檔案存在衝突

!   -檔案缺失

svn info --xml 出以xml格式輸入工作副本的詳細資訊

多版本庫解決方案

前提:tcp/ip協議規定埠號的範圍為 0-65535

0-1023號為公認埠         ftp協議:21 http協議:80

1024-49151號為註冊埠      mysql: 3306 svn服務端:3690

49152-65535號為私有埠

1:svnserve -d -r /path/repos/版本庫名稱 --listen-port 埠號

killall svnserve  所有版本庫都會被停止

檢出 svn co svn://ip:埠號  檔名  或者  svn co svn://ip/svn版本庫名稱  檔名

2:svnserve -d -r /path/repos/  同時啟動repos下多個版本庫

檢出 svn co svn://ip/svn版本庫名稱 另存的檔名

優缺點比較:

多個埠號: 版本庫可以建立在任意位置,但是埠號容易混淆.

乙個埠號:版本庫必須在同一目錄下,無需分配埠號.

工作副本->工作副本

svn copy = svn cp  複製工作副本到工作副本 等同於 svn add 新檔案

svn cp 原始檔名稱 目標檔名稱 

svn cp -r 版本號 原始檔名稱  目標檔名稱      //複製歷史版本檔案

svn cp 檔案1  檔案2 檔案3  ./path/        //批量複製檔案

工作副本->線上版本庫(不支援跨庫操作,提交是不可以跨庫的)

svn cp  檔名 svn ://ip/版本庫名稱/目標檔名 -m ""      //從本地工作副本直接複製到線上版本庫,相當於svn ci

ps:出現

svn: e235000: in file '/build/subversion-8e3yhq/subversion-1.9.3/subversion/libsvn_client/copy.c' line 2099: assertion failed (commit_items != null)

aborted (core dumped)錯誤時候應該檢查檢出時與複製時所填svn url是否一致 檢出的時候 svn co svn://網域名稱:埠號/目標檔名 -m "" 複製時 必須同樣svn cp 工作副本檔案 svn://網域名稱:埠號/目標檔案 -m ""   

版本庫->工作副本(支援跨庫操作)

svn cp svn://ip/版本庫名稱/檔名 目標檔名

版本庫->版本庫(不支援跨庫操作)

主幹版本與分支版本

svn cp svn://ip/版本庫名/    svn://ip/版本庫名稱/主幹版本名稱(trunk) -m ""

svn cp svn://ip/版本庫名稱/主幹版本庫名稱/     svn://ip/版本庫名稱/分支版本庫名稱(branch) -m ""

建議版本庫剛建立好之後建立三個資料夾 trunk(主幹版本),branch(分支版本),tag(備份)

SVN 高階應用

各種檔案狀態 u 表示從伺服器收到檔案更新了 g 表示本地檔案以及伺服器檔案都已更新,而且成功的合併了 其他的如下 a 表示有檔案或者目錄新增到工作目錄 r 表示檔案或者目錄被替換了.c 表示檔案的本地修改和伺服器修改發生衝突 回退到某個版本 svn merge rhead 18257 rm old...

SVN學習筆記4 SVN版本庫的建立

ok,記住哈,剛剛安裝的是svn的伺服器端,也就是說,你以後進行專案的上傳會上傳到這裡,這裡會對其進行記錄,一般服務端到了公司應該不是我們所關心的吧,個人理解,但是應該掌握並了解,萬一哪天你成了專案組長或者專案經理呢!嘿嘿.安裝好svn 伺服器端後 1.首先建立乙個對應的資料夾svnrep 或其他的...

svn學習與應用

先來認識下svn svn是之前公司一直在用的 版本控制系統,採用了分支管理系統。顧名思義,可以對 的版本做系統化管理。通俗講就是可用於多個人共同開發同乙個專案,實現共用資源的目的。開發同學使用svn集中式管理 的工作流程就是 2.進入自己的分支,編寫 然後每隔一定時間向伺服器自己的分支提交一次 co...