svn 回退/更新/取消至某個版本命令詳解【轉】

來源:互聯網
上載者:User

標籤:

轉自:http://www.cnblogs.com/mfryf/p/4654110.html

1. 取消Add/Delete

取消檔案svn revert 檔案名稱取消目錄svn revert --depth=infinity 目錄名2. 回退版本方法1: 用svn merge1) 先 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,xxxxx” [檔案或目錄]。這時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 updateupdate (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 版本號碼‘{‘ DATE ‘}‘ 在指定時間以後的版本‘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

svn 回退/更新/取消至某個版本命令詳解【轉】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.