高效开发 — SVN使用教程(客户端与服务端安装详解!带图!带注释!安装客户端与服务端的地址可以看上两个链接)
svn安装分为两部分,服务端安装与客户端安装!
服务端安装:请看第二个链接,选择标准版,企业版要收费
按照第三个链接的操作,创建资源仓库
下载svn服务器地址
http://subversion.apache.org/packages.html
打开后拉倒页面底部 选择 VisualSVN (32- and 64-bit client and server; supported and maintained by VisualSVN) 这一项进入页面
选择 VisualSVN for Visual Studio 2019 和 VisualSVN Server (32位或64位自己选)
然后下载svn客户端 地址 http://tortoisesvn.net/downloads.html (选择64位或32位下载 可以选择版本)
上面的步骤操作完后应该有以下三个软件,在我的电脑的 D盘/用户/用户名/下载
TortoiseSVN-1.12.0.28568-x64-svn-1.12.0.msi
VisualSVN-VS2019-7.0.0.vsix
VisualSVN-Server-3.9.5-x64.msi
先安装VisualSVN server的安装包,双击VisualSVN server安装包(接下来看第三个链接,有图 很清晰)
接下来安装客户端
接下来我们安装TortoiseSVN,双击安装包,进入下一步 (傻瓜式安装) 之后在电脑上点击右键 出现svn的一些东西 就说明安装好了
下载中文语言包 http://tortoisesvn.net/downloads.html 进入后选择中国国旗 下载 之后右键点击 移到 TortoiseSVN选项上 点击设置 语言 中文 即可
下面就可以开始使用了!!!
怎么把本地的文件放到服务器上呢?
1、单击右键 检出(会把服务器的目录检出到桌面上!!!)
2、选择想要编辑的文件在编辑器上编辑,之后这个文件会变成红色感叹号,证明这文件还为提交到服务器上,然后右键这个文件提交(写入这次编辑的理由),然后别人就可以在服务器上检出这个文件了!!!
如果是在本地编写的一个文件,可以直接将文件复制到服务器检出的文件中,至于放到trunk中还是放在和他并列的文件下,现在不是太清楚,放进去后,文件会变成蓝色问号(证明文件还没有进行登记),然后右键这个文件,点击增加,然后文件会变成蓝色加号(这时文件还没上传到服务器),然后右键这个加号文件,点击提交(写入提交说明),就上传到服务器了。然后别人就可以在服务器上检出这个文件了。
如果想看到服务器,可以到下载目录里的 VisualSVN-Server 文件,双击,然后点击repair,就可以看到那个界面了
后面再更新一些具体的使用操作
1、如何用命令行工具操作svn?
把 从服务器检出的文件放在path路径上 (windows+r cmd cd+服务器目录文件) 就可以操作了 比如查看svn 版本 输入 svn --version
2、如何创建一个新的版本库?
建立一个文件夹,右键,创建版本库,就ok了
3、检出 (checkout)
操作:右键 检出
Checkout 操作是用来从版本库创建一个工作副本。工作副本是开发者私人的工作空间,可以进行内容的修改,然后提交到版本库中。
其中url可以在命令行输入 svn info 来查看
4、更新(update)
操作:打开从版本库检出的工作副本 右键 更新
顾名思义,update 操作是用来更新版本库的。这个操作将工作副本与版本库进行同步。由于版本库是由整个团队共用的,当其他人提交了他们的改动之后,你的工作副本就会过期。
5、执行变更
操作 打开工作副本 右键其中一个文件 鼠标晃到tortoiseSVN这一项 右边有变更列表的各种选项
。当检出之后,你就可以做很多操作来执行变更。编辑是最常用的操作。你可以编辑已存在的文件,例如进行文件的添加/删除操作。
。你可以添加文件/目录。但是这些添加的文件目录不会立刻成为版本库的一部分,而是被添加进待变更列表中,直到执行了 commit 操作后才会成为版本库的一部分。
。同样地你可以删除文件/目录。删除操作立刻将文件从工作副本中删除掉,但该文件的实际删除只是被添加到了待变更列表中,直到执行了 commit 操作后才会真正删除。
。Rename 操作可以更改文件/目录的名字。"移动"操作用来将文件/目录从一处移动到版本库中的另一处。
6、复查变化
操作:右键打开操作列表 点击 检查修改 (就可看到改动的文件 或则 新增的文件 等一些的更改记录)
:鼠标移到更改过的文件 右键 点击 比较差异 就可以和改动之前的文件进行比较 查看你改动过的地方
。当你检出工作副本或者更新工作副本后,你的工作副本就跟版本库完全同步了。但是当你对工作副本进行一些修改之后,你的工作副本会比版本库要新。在 commit 操作之前复查下你的修改是一个很好的习惯。
。Status 操作列出了工作副本中所进行的变动。正如我们之前提到的,你对工作副本的任何改动都会成为待变更列表的一部分。Status 操作就是用来查看这个待变更列表。
。Status 操作只是提供了一个变动列表,但并不提供变动的详细信息。你可以用 diff 操作来查看这些变动的详细信息。
更改后的文件会有一个红色感叹号,需要执行 提交(commit) 操作(输入更改说明) 就可以上传到版本库了
如果是新增了一个文件,文件上会有一个蓝色的问号,需要执行 增加(add)操作 来进行登记 执行增加操作后 文件上会变成蓝色加号 需要执行提交(commit)操作就可以上传到服务器了。
7、修复错误
操作:点击 svn还原 (revert) (本次进行的修改就会恢复到以前)
我们来假设你对工作副本做了许多修改,但是现在你不想要这些修改了,这时候 revert 操作将会帮助你。
Revert 操作重置了对工作副本的修改。它可以重置一个或多个文件/目录。当然它也可以重置整个工作副本。在这种情况下,revert 操作将会销毁待变更列表并将工作副本恢复到原始状态。
8、解决冲突
合并的时候可能会发生冲突。Merge 操作会自动处理可以安全合并的东西。其它的会被当做冲突。例如,"hello.c" 文件在一个分支上被修改,在另一个分支上被删除了。这种情况就需要人为处理。Resolve 操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突。
9、提交更改
操作: 右键 提交(commit) 输入更改说明 即可
Commit 操作是用来将更改从工作副本到版本库。这个操作会修改版本库的内容,其它开发者可以通过更新他们的工作副本来查看这些修改。
在提交之前,你必须将文件/目录添加到待变更列表中。列表中记录了将会被提交的改动。当提交的时候,我们通常会提供一个注释来说明为什么会进行这些改动。这个注释也会成为版本库历史记录的一部分。Commit 是一个原子操作,也就是说要么完全提交成功,要么失败回滚。用户不会看到成功提交一半的情况。
10、如何打开 VisualSVN Server Manager?
我一直以为,visualSvn server manager 需要repair一下VisualSVN-Server-3.9.5-x64.msi才能打开,其实不是,到c/Program Files/VisualSVN Server/bin/VisualSVN Server.msc就可以打开,也可以直接发送桌面快捷键方式,以后就可以在桌面直接打开svn 后台管理界面了。
11、后台管理界面 操作(和git的远程仓库时一个概念) 其实这一条 应该放在第一条 后面的检出什么的 都需要在这一步之后
创建版本库:右键点击repositories 点击create 那一项 选择第一项 标准仓库 输入仓库名 ok
创建用户:右键users 点击create那一项 输入用户名 密码 即可
为某个版本仓库 添加用户 并设置权限:右键某一个版本仓库 选择 properties 选择想要添加的用户 下方可以设置用户权限 是只读还是读写 都行
12、如何设置 忽略列表 也就是提交时 忽略掉某个文件(特别是vue 的node moudule文件 特别大 但可以忽略)
操作:右键要忽略的文件 选择 去除版本控制并添加到忽略列表 然后提交一下 就ok了 文件会出现一个白色横线 代表已经忽略 再更改这文件 不会出现红色感叹号
13、svn分支管理
先说一下trunk tags branches 这三个文件的作用
trunk :是主支 永远与开发环境版本保持一致、创建分支一般都基于它,用于随时开发新功能
branches :是分支,一些阶段性的release(发布)版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。
tags:一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。
创建分支 :点击trunk 不要进入 右键 选择选择Branch/tag 菜单 之后
- 输入新分支路径及名称(都在branches目录下新创建一个文件 文件名自己起)
- 输入日志信息说明创建分支 的原因与用途
- 起始版本号选择 Head revision in the repository(也就是最新版本 也可以基于指定版本创建一个分支)
- 检查输入与选择项无误后点击【ok】按扭(之后记得 update更新一下 否则看不到在branches下的新分支)
- 如果需要再创建分支,重复上述步骤。
合并分支;比如开发版本发布至生产环境 一般是将开发分支合并到trunk, trunk 中右击并选择svn菜单Merge,在弹出的界面选择【Merge a range of revisions】后点击【Next】
最上面url路径是 要将这个分支合并到 trunk主支 最下面的url是指 本合并到的分支(一般是trunk)
注意 如果要将其他分支合并到trunk或其他分支,先要更新trunk或其他分支,否则会提示让先更新