声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 SVNSVN是干什么的?SVN的作用体现在协同开发上。什么意思? 假设有2个开发者,你写好了代码,交给我使用。你怎么给我?拿u盘拷贝?再假设,写好的代码每次都手动找到客户端上传代码到服务器上?这样的手段都太麻烦。 SVN它有客户端与服务器之分,客户端可以快速上传代码到服务器,另一个客户端则可以下载你刚才上传的代码。SVN的整体就像是资源共用。 演示: 先使用别人构建的SVN服务器,先注册 注册完成 点击创建项目: 填写一些信息 创建成功后,重要的信息是,用户名、密码、SVN地址 用户名密码,就是我们创建账户的用户名密码,上传的时候用户名密码就是身份验证。 SVN的地址是上传与下载的地址 创建成功后,我们拿到了3个信息。用户名,密码,地址。下面就可以使用SVN了 下载客户端: 安装后: 创建SVN的测试夹子,一个是上传一个是下载: 目前这两个夹子都是空的 我们在upload夹子中写上文件: 里面记录了一些内容,upload夹子中就有内容了。 写好了,假设这就是我们写好的代码,我们要上传到服务器上去。 退回到上一次选择到文件夹: 反键选择tortoiseSVN,tortoise翻译:乌龟。乌龟就是SVN的标志,这就是SVN。右键选择SVN选择import上传到服务器。 在弹出的对话框中,我们选择要上传到的服务器的地址,这个我们填写刚才申请的地址,点击OK。在弹出的对话框中填写用户名密码。 上传成功后,会告诉我们情况: 在另一个文件夹中,我们选择下载别人提交的资源: 填写地址 地址就是之前那个人上传的地址,他上传到哪里,我们就去哪个地址上取文件下来。 他会将那个地址中的资源全部下载下来,第一次也是需要身份验证的。 空文件夹子就有对方传递上去的资源了 我们对内容产生修改: 这个时候我们就不是又上传新的文件到地址上了,这里有2个选项: 一个是commit,一个是update,一个是提交一个是更新。提交是我编辑完了又提交到地址上。更新是对方编辑完了,我下载下来。 提交就不用上传了。因为服务器已经有一份了,我在提交就重名了,更新的意思是更新新的内容上去。 点击OK更新完毕: 对方也点击下载: 看到内容发送改变了: 下载后按钮变成了提交与更新: 我们这只是是同一个文件夹下,两个不同文件夹做交互。如果这两个文件夹分别是两个不同的客户端呢?这样不就是两端进行共享? 你写好了commit提交,你提交了我update更新即可。 当前要做到update与commit的要求是双方至少要有一次下载,即我上传到地址上,你下载了你就可以commit与update。我也需要在下载一次才能update与commit。 他们之间的都是文件夹之间的交互,是上传文件夹,下载文件夹。更新与提交也是对文件夹操作,对文件SVN反键没有看到上传与下载。 这就是SVN,对于协同合作的开发者来说,这样就有如在一个端进行操作。你提交我更新。我提交你更新。就无需文件之间的相互传递。但SVN提交的是目录,SVN是多个端共享一个服务器地址上的资源。 SVN多个客户端共享一个地址上的资源,只需要多个客户端填写相同的地址即可。这个资源的身份验证是靠用户名与密码来验证的。这样就有效的避免了传来传去的麻烦,只需要下载一次剩下的是提交与更新即可。 如果需要更换SVN地址呢?比如又和别人合作? 右键选择SVN再import: 填写新地址即可 别人要引入,在选择新的地址即可: Vv文件夹中就有了cc提交的内容: 别人是看不到的,因为他们所属不再一个地址下,是不同的地址: 如果是更换仓库地址,则和之前仓库填写的信息不一样,则又会再次要求用户名与密码 但是也不影响其他地址库交互: 也就是一个客户端,可以交互多个地址,而不需要担心会不会混乱的情况 SVN在协同合作开发上,做到多个客户端共享一个资源仓库。下载、提交、更新。资源都在服务器上。客户端对共同的资源使用commit与update产生交互。 |