在团队合作开发中,如果用错命令提交(commit)了一个不该提交的代码文件的话,那就进行代码回滚吧,我当时就使用svn commit -m "fix onebug" \误操作将所有文件给提交了,有些文件是不应该提交的。下面我们来回滚吧,将你提交的文件回退到以前的版本,假设我要回滚的代码是 something.php:
1、保证我们拿到的是最新代码:
svn update
假设最新版本号是5730。
2、然后找出要回滚的确切版本号:
svn log --limit 3 -v something.php
--limit 3 的意思是显示最新的三个版本
根据svn log日志查出要回滚的版本号是2589,此处的-v后面可以是文件、目录或整个项目
下面比较一下这两个版本代码的异同情况:
svn diff -r 5730:2589 something.php
3、回滚到版本号2589:
svn merge -r 5730:2589 something.php
为了保险起见,再次确认回滚的结果:
svn diff something.php ,正常的话,现在的something.php这个文件的版本是2589的,这个命令可以看出
在你的工作目录下的something.php文件和版本库中最新版本的异同。
发现正确无误,提交。
4、提交回滚后的文件:
svn commit -m "Revert revision from r5730 to r2589,because of ..." something.php
提交后something.php的版本变成了5781。
再次比较新版本5781和2589之间的异同,检查成功与否,如果成功则没有任何输出。
svn diff 5781:2589 something.php ,说明版本库中的something.php和它以前正确的版本一样了,你对这个文件的修改也撤销了。