• svn 回滚到上一个版本shell 脚本


    #!/bin/sh
    ##############################
    #       2015-07-15           #
    #   author jackluo           #
    # Email net.webjoy@gmail.com #
    ##############################
    
    version_list=$(svn log --limit 2|sed '1d'|sed '$d'|awk -F '|' '{print $1}'|awk -v RS="" '{gsub("
    ","");print}') #找出最近的版本,并进行格式化
    echo 'verions finding....'
    echo $version_list  #版本号 最近两个
    rocback_version=$(svn log --limit 2|tac |sed -n 4p|awk '{print $1}') #要回滚的前一个版本号
    echo -e "
    "
    echo 'Version number that you want to roll back'
    echo -e "
    "
    echo $rocback_version #版本号
    echo -e "
    "
    echo 'are you sure of to ' $rocback_version ' Yes or No' #确定要回滚过去
    echo -e "
    "
    read answer  #读取用户输入
    if [ $answer == "Yes" ]
    then
            svn up -r $rocback_version #回滚代码
            echo -e "
    "
            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/

  • 相关阅读:
    # bootstrap Grid System 柵格系统中“移动优先”的一个小体现[bootstrap ]
    ENGLISH HANDWRITING
    #PHP 类的多继承实现之 traits.md
    #linux vscode 保存总提示“Retry as sudo”
    #【php留存问题-2020年6月19日】,手动为数组添加一个间隔元素,再遍历的时候,提示索引为空
    #Linux 下 Xampp的安装与Hello World
    # 详细了解HTML5中的form表单
    # Promise的简单理解和基本使用
    #简单理解回调函数
    Java中几种常见的设计模式--工厂设计模式
  • 原文地址:https://www.cnblogs.com/jackluo/p/4649023.html
Copyright © 2020-2023  润新知