SVN简介:
1、为什么要使用SVN?
程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。
2、Subversion是什么?
它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。
3、为什么要用VisualSVN Server,而不用Subversion?
因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。
VisualSVNServer集成了Subversion和Apache。使用VisualSVNServer作为服务端,还需要一个用户的操作端,用于提交更新检出代码,常用的有Eclipse的Svn插件,以及TortoiseSVN(小乌龟)。
VisualSVN Server的下载地址(免费的): https://www.visualsvn.com/server/download/
TortoiseSVN 下载地址:https://tortoisesvn.net/downloads.html
这里下载的都是64位的,TortoiseSVN与VisualSVN搭配使用。
一 Visual SVN的安装非常的简单 【服务端】
1、下载完成后双击安装:
2、一直【Next】,到如下所示:
3、点击-->选择程序安装的路径、Subversion Repository(库)的路径和所使用的协议和端口。
可以选择HTTP和HTTPS两种协议,如需使用svn协议也非常的方便,在1.4版本后,Subversion加入了Service运行的功能。端口号可以任意定义。对于HTTPS的端口号默认可以选择443和8443,对于HTTP默认可以选择80、8080和81。 偏向于使用HTTPS的8443端口,原因很简单HTTPS安全性比较高,虽然443端口是标准HTTPS端口,但如果做WEB开发那肯定就有麻烦,同时Skype也会使用这个端口进行某些通讯。
4、然后next-->点击install --> finish
安装完成后会询问你是否需要运行VisualSVN Server Manager(一个非常有用的管理工具)
5、打开“ VisualSVN Server Manager ”,如下:
二、安装TortoiseSVN(小乌龟)【客户端】
1、下载完成后双击安装,一直【Next】,到如下所示自定义安装路径:
如果安装时忘记勾选了的话,安装包重新运行,选择modify,然后勾选command line client tools项next就行了。安装一个在IDEA中配置时所需要的 svn.exe文件
2、一直next --> install --> finish完成
一二步 完成安装,在任意目录位置,右键可以看到多了两个菜单
三、 VisualSVN Server的配置和使用方法【服务端】
1、创建一个代码库:点击Repository右键,下一步
左图输入代码库名称,右图中的选择Empty…,只创建空的代码库QGroundStation ; 如果选中Single…则在代码库下面会创建trunk、branches、tags三个子目录。
选择默认选项,点击Create,finish,代码库就创建成功了,此时还没有任何内容在里面
注意: 一般新建代码库之后, 新建多个项目(会创建三个文件夹)或者建文件夹(不会创建多余文件夹),方便管理
输入项目名或文件夹名(最好和开发项目名一致,若不一致,从svn检出时会以TortoiseSVN迁入的项目名一致),
2、开始安全性设置,在左侧的Users上右键
输入上面的信息,点击OK,用户创建成功。按照上面的过程,分别添加其他用户就可以了。
3、开始添加这些用户到我们刚才创建的项目里。
点击刚才创建的代码库,右击选择属性(Properties)
注意这里的权限设置,要选择好。
点击"确定"按钮,上面的用户就具有了访问svn_project2代码库的不同权限。
四、从客户端迁入项目源代码到SVN服务器安装TortoiseSVN后,使用TortoiseSVN的将项目源代码迁入迁入到SVN Server上的代码库中,。
右击项目文件夹,如图,点击Import选项
弹出如下图:其中URL of repository是svn server中代码库的根目录,在信息输入框中写记录日志是个非常好的习惯
点击OK按钮,会弹出下面的窗体,要求输入凭据。输入创建的用户名密码后,点击OK按钮,
如图所示,项目源代码成功迁入SVN服务器
五、从SVN服务器代码库中迁出项目源代码到客户端或本机
在本机创建文件夹 project1 右键点击 SVN Checkout,弹出如下图的窗体
一旦你对该文件或其下文件夹做了任何修改,那么文件或文件夹的显示图片就会发生变化。注:
一个新检出的工作复本使用绿色的对勾重载,表示Subversion状态正常。
在你开始编辑一个文件之后,状态就变成了已修改,而图标重载已变成了红色感叹号。通过这种方式,你可以很容易地看出那些文件从你上次更新工作复本被修改过,且需要提交。
如果在提交的过程中出现了冲突,图标就会变成了黄色感叹号。
加号告诉你有一个文件或者目录已经被计划加入到版本控制中。
注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。
在文件夹内的空白处点击右键,点击SVN Commit
添加新文件到SVN服务器1、 在文件夹内的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。
2、 也可以在新建的文件上点击右键,点击TortoiseSVN=>>Add,这样只是将这个文件提交到“变更列表”中。必须VN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。
添加文件夹的步骤也是一样的。
更新本机代码与SVN服务器上最新的版本一致只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。
注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。
重命名文件或文件夹,并将修改提交到SVN服务器在需要重命名的文件/件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法不是直接重命名,我们使用SVN Commit提交到SVN服务器后才真正重命名。
删除文件或文件夹,并将修改提交到SVN服务器1、 直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。
2、 在要删除的文件/文件夹上右键,TortoiseSVN=>>Delete,此方法也不是直接删除,而是将状态置为删除,仍需要SVN Commit,在变更列表中选择被删除文件,执行后才真正删除。
说明:实际上,从你把源代码迁入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。
注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用。
Svn使用注意:先更新,再提交:要提交代码之前: 一定要先更新服务器代码, update,。
多提交:只要写完一个小功能,保证运行通过,编程正常,就提交代码,提交完整的代码
不要提交Eclipse的配置文件,不要提交与代码无关的配置文件..settings target .classpath,.project等
参考文章:https://www.cnblogs.com/warrior1988/p/5359084.html
两者安装 https://www.cnblogs.com/xing901022/p/4399382.html