svn 回滾到上乙個版本shell 指令碼

2021-09-22 17:19:36 字數 1985 閱讀 1211

#!/bin/sh

##############################

#

2015-07-15

## author jackluo #

# email [email protected] #

##############################

version_list=$(svn log --limit 2|sed'1d

'|sed'$d

'|awk -f '|'

''|awk -v rs=""''

) #找出最近的版本,並進行格式化

echo

'verions finding....

'echo

$version_list #版本號 最近兩個

rocback_version=$(svn log --limit 2|tac |sed -n 4p|awk''

) #要回滾的前乙個版本號

echo -e "

\r\n

"echo

'version number that you want to roll back

'echo -e "

\r\n

"echo

$rocback_version #版本號

echo -e "

\r\n

"echo

'are you sure of to

' $rocback_version '

yes or no

' #確定要回滾過去

echo -e "

\r\n

"read answer #讀取使用者輸入

if [ $answer == "

yes"

]then

svn up -r $rocback_version #回滾**

echo -e "

\r\n

"echo

'code is rocback is ok !!!^__^!!!

'else

echo

"abandoned operation program exit

" #放棄操作

fi

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

svn update

假設最新版本號是28。

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

svn log [somefile]

如果log很多,可以使用引數--limit

svn log --limit 10 [somefile]

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

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

svn diff -r 28:25 [somefile]

3、回滾到版本號25:

svn merge -r 28:25 [somefile]

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

svn diff [somefile]

發現正確無誤,提交。

4、提交回滾:

svn commit -m "revert revision from r28 to r25,because of ..."

提交後版本變成了29。

將以上操作總結為三條如下:

1. svn update,svn log,找到最新版本(latest revision)

2. 找到自己想要回滾的版本號(rollback revision)

3. 用svn merge來回滾: svn merge -r 28:25 somefile

注意:雖然 svn up -r 25 somefile 也可以使檔案回滾,但是當提交時由於不是最新版本而無法提交,還需要先更新,拷貝,再提交,所以不建議使用。

補充:svn忽略檔案或資料夾

svn propset svn:ignore '*' template_c/

git 回到上乙個版本

本人常用下面的命令 git reset hard head 1 git reset head filename 把這個 file 移除暫緩區,其實就是相當於沒用 add這個 file git commit am 提交 提交暫緩區 git reset head 撤銷最近一次 commit git re...

Flask 重定向到上乙個頁面

def func a return do something format url for do something def func b return do something format url for do something def do something print do things...

Postman下乙個介面要用到上乙個介面的資料

問題描述 現在有a b兩個介面,a介面返回的response的body中是以下結構,我要取rows裡面的order id給b介面用。pagenation 解決辦法 1 在a介面的test裡面設定環境變數 var data json.parse responsebody if data.status ...