当你在开发一个大型项目的时候,花了两三天的时间去做修改,不过后来发现这个修改并不合适,想还原到三天以前,如果你没有用源代码管理工具管理自己的项目也没有自己手动备份,那恭喜你,你得开始人肉还原了,这是多么悲剧的一件事情,然而如果你使用了SVN管理的话,只需要将三天前的最后一个稳定版本Commit一次,三天之后如果要还原,只需要Revert就好了。
要使用SVN,首先需要SVN客户端,SVN服务器是可选的。推荐大家使用TortoiseSVN这个SVN客户端,因为它简单易用且免费,支持Windows32Bit、64Bit
下载地址http://tortoisesvn.net/downloads.html
为了让SVN跟VS结合得更紧密,需要再下载一个Ankn SVN插件,我强烈推荐你使用它,因为它也非常简单易用,最新版支持VS2010。
下载地址http://ankhsvn.open.collab.net/downloads
1,安装TortoiseSVN;
2,安装AnkhSvn插件;
当安装完TortoiseSVN之后,我们在资源管理器中点击右键就能看到它的菜单了:
本地使用:
随便找个地方新建一个文件夹,如I:\svn\svn_server\Unicode这个文件夹,然后对着这个新建的文件夹点右键,选择SVN>Create repository here,OK,本地SVN服务器就建好了。
现在我们使用文件协议导入我们的项目到该SVN服务器中,找到我们要导入的项目,如I:\svn\svn_source\Unicode;右击项目文件夹,SVN>Import。在Import界面中这样填:
URL of repository填 file:///I:\svn\svn_server\Unicode
如果你看到上面这个画面说明你已经导入成功了.
现在我们需要去其它地方重新获取这些代码,换个地方,如I:\svn\svn_Projects\Unicode
右键选择SVN CheckOut,然后地址输入刚才导入的地址:file:///I:\svn\svn_server\Unicode
现在我们已经CheckOut成功了,可以看到Unicode文件夹已经带上了一个绿色的勾。
点击这个Unicode文件夹,选择SVN>Show Log:
在这个界面我们还可以检查代码的改变都是什么,由于这里是新项目,所以没有更改,我们以后可以找到Unicode项目的更改来比较一下它们的改动都是什么:
选中相应文件后,右键Show Changes
下面再介绍一下如何提交代码(Commit)
右击被SVN管理的项目,选择SVN Commit,输入相关信息之后就可以提交了
注意:SVN不会把你新添加的文件默认选中,它只会默认选中已经在SVN中添加了的文件。所以当新加了文件的时候注意勾上,防止漏传。
对于添加到IDE中的文件推荐用SVN插件上传,这样可以有效防止漏传新加的代码,方法:在Pending Changes中选择要上传的文件,右键Commit即可。
注意,有些二进制文件如MP3、PNG或者其他资源打包文件可能不会添加到IDE中,这时一定要防止漏传,可以在资源管理器中右击项目,SVN→ADD,将新加的文件添加进去。
右键Update可以获取最新的代码。
如果要还原的话,只需要在Pending Changes中选择相应文件,右键点击Revert即可:
SVN有很多丰富的内容,不是短时间内可以学完的,建议大家自己多使用一下,多用几下就熟了。