相关步骤如下,如有不妥及缺失之处,欢迎各位指正。
a.Import(如果对应的SVN Repository已经上传了相关代码,直接参见b)
如果SVN服务器端Repository的代码还没有,你需要右键你的本地代码目录,在弹出菜单中选择import,
然后在随即弹出的对话框中输入SVN服务器中的repository网络URL及相关验证信息,如果目录比较大,请耐心等待。
注意:如果上传目录中包含有临时文件,可以参照本文中关于设置全局global-ignores的说明进行适当的设置。
b.Checkout
选中本地需要与SVN服务器中Repository对应的的本地目录,如果没有则可以建立一个新的
右键选中本地目录,在弹出菜单中选择checkout,接着在弹出的对话框中把我们选择的本地目录设为checkout目录
等待checkout完成,当你看到子目录中的文件夹都带有绿色的小钩的时候,那恭喜你,你已经基本成功了。
不过等等,怎么样才能让SVN忽略那些临时文件或文件夹(比如,我用的是VS2010,那么每个项目中的bin以及debug目录都是需要忽略的,当然还有.user,测试项目临时文件,resharp文件等等)?
经过Google一番,大致得知有以下两种途径可以完成我们期望,
c.如何设置需要忽略的文件及目录
- 全局设置
-
- 设置客户端配置文件中的global-ignores配置节,配置文件的目录一般为C:\Users\{your user name}\AppData\Roaming\Subversion
- 以下是我用的配置参数,以供参考
-
- global-ignores = *.obj *.pdb *.suo *.scc *.user *.embed.manifest *.exe unittest *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store
- 不过以上配置是全局设置,因此对它的改动会影响本地的所有repositories,而且以上参数中并不支持正则及指定需要忽略的目录名称(*是唯一支持的通配符)。因此我们似乎需要在svn客户端中找到一种细粒度的管控方式,其实就是我们接下来要讲的svn受控目录的svn:ignore属性
举例来说,你的本地项目的本地结构如下所示,
A
-bin
-debug
-...
那我们要做的是,
- 右键选中目录A,在弹出菜单中选择svn properties
- 在弹出的对话框中,点击new按钮->Advanced
- 在弹出的属性对话框中,选择svn:ignore作为Property Name
- 在property value中第一行输入bin,第二行输入debug
- 确定所有弹出窗口,右键A目录并选择SVN Commit提交我们刚才对A目录所作的更改。
注意:以上目录操作,必须是针对svn受控目录(也就是说,这些操作都得在svn check out的目录上进行,否则你在右键目录菜单中是看不到svn properties这个选项的)
参考链接及资料:
http://www.51testing.com/?uid-356623-action-viewspace-itemid-806847
http://www.petefreitag.com/item/662.cfm
svn中文使用手册