svn 回滾 單個檔案 或者 目錄 或者 整個專案

2021-07-09 02:20:16 字數 1495 閱讀 4722

取消對**的修改分為兩種情況:

第一種情況:改動沒有被提交(commit)。

這種情況下,使用svn 

revert就能取消之前的修改。

svn 

revert用法如下: # 

svn 

revert 

[-r] 

something

其中something可以是(目錄或檔案的)相對路徑也可以是絕對路徑。

當something為單個檔案時,直接svn 

revert 

something就行了;當something為目錄時,需要加上引數-r(recursive,遞迴),否則只會將something這個目錄的改動。

在這種情況下也可以使用svn 

update命令來取消對之前的修改,但不建議使用。因為svn 

update會去連線倉庫伺服器,耗費時間。

注意:svn 

revert本身有固有的危險,因為它的目的是放棄未提交的修改。一旦你選擇了恢復,subversion沒有方法找回未提交的修改。

第二種情況:改動已經被提交(commit)。

這種情況下,用svn 

merge命令來進行回滾。 

回滾的操作過程如下: 

1、保證我們拿到的是最新**: 

svn 

update 

假設最新版本號是28。 

2、然後找出要回滾的確切版本號: 

svn 

log 

[something]

假設根據svn 

log日誌查出要回滾的版本號是25,此處的something可以是檔案、目錄或整個專案

如果想要更詳細的了解情況,可以使用svn 

diff 

-r 28:25 

[something]

3、回滾到版本號25:

svn 

merge 

-r 28:25 

something

為了保險起見,再次確認回滾的結果:

svn 

diff 

[something]

發現正確無誤,提交。

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

Linux環境下svn回滾單個檔案的shell函式

svnrollback v 獲取到檔案的所有更新資訊 arr svn log file 從更新資訊中刪去不必要的資訊 arr 這條指令執行兩遍代表著獲取當前版本的上乙個版本號 想獲得上n個版本就重複n 1遍 arr 繼續抽取 arr 獲得目標版本號 lv echo roll back 將兩個版本的檔...

Git檢出指定目錄或者檔案

例如檢出 遠端倉庫為 git github.com git下的readme.md檔案和dir1 目錄到本地test資料夾下 基本的流程如下 mkdir test git init git config core.sparsecheckout true cd test git info echo re...

Linux刪除亂碼檔案或者目錄

linux刪除亂碼檔案或者目錄 有時在linux下面解壓一些zip或者rar檔案後會產生亂碼檔案或者目錄,這個時候使用rm不能成功刪除,需要使用一些特別的方法 來進行刪除,下面是我經常使用的兩種方法。方法一 使用rm rf 刪除上一級目錄,當然前提是需要備份你需要備份的資料.一種思路 1.比如 ho...