1. 取消add/delete
取消檔案
svn revert 檔名
取消目錄
svn revert --depth=infinity 目錄名
2. 回退版本
方法1: 用svn merge
1) 先 svn up,保證更新到最新的版本,如20;
2) 然後用 svn log ,檢視歷史修改,找出要恢復的版本,如10 。如果想要更詳細的了解情況,可以使用svn diff -r 10:20 [檔案或目錄];
3) 回滾到版本號10:svn merge -r 20:10 [檔案或目錄],注意版本號之間的順序,這個叫反向合併;
4) 檢視當前工作版本中的檔案,如test.cpp和版本號10中檔案的差別:svn diff -r 10 test.cpp, 有差別則手動改之;
5) 若無差別,則提交:svn ci -m「back to r 10,***xx」 [檔案或目錄]。這時svn庫中會生成新的版本,如21。
方法2: 用svn up
前2步如方法1,然後直接 svn up -r 10。當前的工作版本就是版本10了。但是注意,這時svn庫中並不會生成新的版本,下次svn up之後,還是會回到當前的版本。
改動已經被提交(commit)。
用svn merge命令來進行回滾。
回滾的操作過程如下:
1、保證我們拿到的是最新**:
svn update
假設最新版本號是28。
2、然後找出要回滾的確切版本號:
svn log
假設根據svn log日誌查出要回滾的版本號是25,此處的something可以是檔案、目錄或整個專案
如果想要更詳細的了解情況,可以使用svn diff -r 28:25 ""
3、回滾到版本號25:
svn merge -r 28:25 ""
為了保險起見,再次確認回滾的結果:
svn diff ""
發現正確無誤,提交。
4、提交回滾:
svn commit -m "revert revision from r28 to r25,because of ..."
提交後版本變成了29。
將以上操作總結為三條如下:
1. svn update,svn log,找到最新版本(latest revision)
2. 找到自己想要回滾的版本號(rollbak revision)
3. 用svn merge來回滾: svn merge -r : something
更新至某個版本
svn update -r 版本號
svn help update
update (up): 將版本庫的修改合併到工作副本中。
用法: update [path...]
如果沒有指定版本,則將工作副本更新到 head 版本。否則同步到 -r 選項所
指定的版本。
每更新一項就輸出一行資訊,使用首字元來報告執行的動作。這些字元的含義是:
a 已新增
d 已刪除
u 已更新
c 合併衝突
g 合併成功
e 已存在
r 已替換
第一列字元報告專案本身。
第二列表示報告專案屬性。
第三列中的字元「b」表示此檔案上的鎖被終止或竊取。
第四列中的字元「c」表示樹衝突,同時「c」出現在第一列或第二列,分別表示
內容衝突或屬性衝突。
如果使用了 「--force」 選項,在工作副本中未版本控制的障礙路徑,不會自動
導致簽出失敗。 如果障礙路徑與版本庫中的對應路徑型別相同(檔案或目錄),它
將成為受版本控制的路徑,但是內容不改變。它意味著障礙路徑的子孫,也可能
是障礙路徑,同樣會受版本控制。對於障礙路徑中的檔案,如果與版本庫內的
不同,將視為工作副本發生本地修改。版本庫中的所有屬性都應用於障礙路徑。
用第一列字元 「e」 來報告障礙路徑。
如果工作副本中並沒有指定的更新目標,但是有其父目錄,那麼就在指定路徑上
將目標檢出到其父目錄中。如果使用了選項 --parents,就會建立目標的所有不
存在的父目錄 (使用選項 --depth=empty)。
使用「--set-depth」選項設定此操作目標的工作副本之新深度。
有效選項:
-r [--revision] arg : arg (一些命令也接受arg1:arg2範圍)
版本引數可以是如下之一:
number 版本號
'' 在指定時間以後的版本
'head' 版本庫中的最新版本
'base' 工作副本的基線版本
'committed' 最後提交或基線之前
'prev' committed的前一版本
-n [--non-recursive] : 過時;嘗試 --depth=files 或 --depth=immediates
--depth arg : 限制操作深度是 arg ('empty', 'files',
'immediates', 或 'infinity')
--set-depth arg : 設定工作副本的新深度為 arg('exclude',
'empty', 'files', 'immediates', 或 'infinity')
-q [--quiet] : 不列印資訊,或只列印概要資訊
--diff3-cmd arg : 使用 arg 作為合併命令
--force : 強制操作執行
--ignore-externals : 忽略外部專案
--changelist [--cl] arg : 只能對修改列表 arg 的成員操作
--editor-cmd arg : 使用 arg 作為外部編輯器
--accept arg : 指定自動解決衝突動作
('postpone', 'working', 'base', 'mine-conflict',
'theirs-conflict', 'mine-full', 'theirs-full',
'edit', 'launch')
(shorthand: 'p', 'mc', 'tc', 'mf', 'tf', 'e', 'l')
--parents : 建立中間目錄
全域性選項:
--username arg : 指定使用者名稱 arg
--password arg : 指定密碼 arg
--no-auth-cache : 不要快取使用者認證令牌
--non-interactive : 不要互動提示
--trust-server-cert : 不提示的接受未知的證書頒發機構發行的 ssl 伺服器證書(只用於選項 「--non-interactive」)
--config-dir arg : 從目錄 arg 讀取使用者配置檔案
--config-option arg : 以下屬格式設定使用者配置選項:
file:section:option=[value]
例如:servers:global:http-library=serf
mac下使用svn通過終端回退版本到某個版本號
要回退 回滾版本,有很多版本,這裡先介紹用update操作的方法。首先通過 ls 操作可以檢視當前目錄的檔案。通過 cd 檔名 操作可以進入到某個資料夾,資料夾輸入一部分後,如果是唯一的,則可以按tab鍵來補全資料夾名。進入到使用svn進行版本管理的工程資料夾後。使用以下語句可以檢視當前本地檔案的版...
centos7 svn自動更新至web目錄
本文記錄通過svn的鉤子指令碼實現本地提交svn後,自動同步 檔案到伺服器的 目錄下,而不必手動同步。假如現在有 svn版本庫中的乙個專案 svn rootwww svn co svn username admin password 123456 複製 這時,目錄已成為svn的工作副本,接下來利用s...
歐盟玩具標準EN71 3更新至2019版
歐盟玩具標準en71 3更新至2019版 歐盟於2018年8月10日發布2018 c 282 02,更新了玩具安全指令2009 48 ec的相關協調標準。今年4月歐洲標準化委員會 cen 發布了玩具安全標準en 71第3部分 特定元素的遷移的2019版。本次更新的標準en71 3 2019將於今年1...