• SVN代码回滚命令之---merge的使用


    一、改动还没被提交的情况(未commit)

    这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端。

    其实一个命令就可以搞定:

    # svn revert [-R] PATH

    PATH可以是准备回滚的文件、目录,如果想把某个目录下的所有文件包括子目录都回滚,加上-R选项。

    二、改动已经提交(已commit)

    1.首先取得当前最新版本,不是最新的有可能带来麻烦:

    svn update
    假设当前版本是2582.

    2.找到要回滚到的版本号,如果不清楚,查看log,diff

    svn log | more
    svn diff -r version1:version2 PATH

    假设回滚到版本2580.

    3.merge
    svn merge -r 2582:2580 PATH
    merge完使用diff确认结果
    svn diff PATH
    4.提交
    svn ci PATH -m "Revert version from xxx to xxx because..."

    因为又一次提交,版本号又升了一个,现在变成了2583.

    见有的人是这么做回滚的,就是逐个修改代码,然后再提交,如果改动很多的话难免 有所遗漏,非常不推荐。

    如果在这期间,其他人提交了很多代码,如何保留别人的劳动成果,只把自己的错误剔掉,不太容易。
  • 相关阅读:
    hadoop_05
    分布式集群时间同步
    crontab定时任务
    操作系统笔记五:输入输出系统
    操作系统笔记四:文件管理与磁盘存储器管理
    操作系统笔记三:存储器管理
    操作系统笔记二:进程与调度(2)
    操作系统笔记二:进程与调度(1)
    可能的加分项
    对老师的建议
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/5676380.html
Copyright © 2020-2023  润新知