SVN自学记录1

声明:文章是通过互联网学习的记录,如有侵权的内容  请及时通知作者,方便修改或删除。

SVN使用的目的:

公司使用了SVN用来管理代码和维护代码的版本,因此作者的学习是必须掌握的一个工具。SVN是一个版本管理服务器,在服务器端存储着所有项目的版本,项目没做一次更改就认为是多一个版本。主要用于项目开发的团队协作,例如A需要修改代码文件x,B需要修改代码文件y。那么A可以自己做自己的修改然后上传到SVN服务器,B更新一下,就能下载到A做的修改。同理,B上传的修改,A也可以下载到。此外,使用SVN则可以回退到任何一个之前的版本,例如现在最新的版本有一定概率导致崩溃,但是暂时又查不到问题所在,这时就可以把版本回退到之前不崩溃时的版本。

SVN的基本概念:

  • repository(源代码库):源代码统一存放的地方
  • Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
  • Commit(提交):当你已经修改了代码,你就需要Commit到repository
  • Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。

如果两个程序员同时修改了同一个文件呢, SVN 可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN 会提示文件 Conflict, 冲突,需要手动确认。

1.创建本地目录并连接到SVN库

1. 在您的本地机器上新建一个目录,例如“MyApp”,如下图所示:
SVN_2.png
2. 进入该文件夹,鼠标右键点击空白处,在邮件菜单中选择“SVN Checkout...”,如下图所示:
SVN_3.png
3. 在弹框里填入您的应用的SVN库的路径,弹框中的其它选项保持默认,如下图所示:
SVN_4.png
4. 点击弹框中的“OK”按钮,首次登录时要求输入该SVN版本库的用户名和密码

注意不要勾选下面的“Save authentication”,原因是如果1个开发者有多个应用,则有多个SVN库,保留1个SVN库的登录凭证可能会导致登录别的SVN库失败。
如果失败,请选择右键菜单的“TortoiseSVN”->“Settings”->“Save Data”对话框中,点击“Authentication data”旁的“Clear”按钮,清除登录凭证。 清除登录凭证如下图所示:

SVN_22.png

5. 通过验证后,即开始从SVN库中checkout该SVN库里的所有文件。如下所示:
SVN_5.png
6. Checkout成功后,即可在本地机器“MyApp”目录下看到该SVN库下的所有文件。
注意,对于CEE SVN库来说:
(1)如果输入的SVN库路径是该应用的SVN库地址,则checkout出该应用所有的WebService下的所有版本的代码。MyApp目录下是您的应用下所有的WebService的目录,每个WebService是1个文件夹。
SVN_7.png
(2)如果你输入的是您的应用的1个Web服务下的1个版本的SVN路径,则只会checkout出该版本下的代码。每个WebService下是所有的版本目录,每个版本是1个文件夹。
SVN_8.png
(3)在您还没有上传任何代码到SVN库之前,这里checkout出来的只是目录,版本目录下是没有文件的(除了自动生成的.svny文件夹以及index.html )。
SVN_9.png
 

2. 提交文件

1. 将您需要提交的复制到本地对应的目录下。
例如您需要将文件“test2.php”上传到Web服务“helloc”下的版本“1”里,则需要将您的应用程序复制到“MyApp/10507/helloc/1”目录下。如下图所示:
SVN_10.png
2.右键点击文件“test2.php”,选择“TortoiseSVN -> Add”菜单,即将刚才复制的代码添加到SVN工作目录中。
(只要是新增了文件,在提交前都必须先“add”,否则SVN不识别该文件) 如下图所示:
SVN_11.png
add成功后,该文件的图标变成蓝色的十字,如下图所示:
SVN_12.png
3. 然后右键点击文件“test2.php”,选择“SVN Commit..”菜单,然后填写本次提交的日志(必填项,不填将导致提交失败),即将刚才复制的代码提交到SVN工作目录中。
如下图所示:
SVN_13.png
SVN_14.png
SVN_15.png
4. 提交成功后,该文件的图标会变为绿色的对勾,如下图所示:
SVN_16.png


 

3. 修改文件

1. 您可以直接在本地使用编辑器打开SVN工作目录下的某个文件并进行修改,修改完成后,可以看到该文件的图标变成红色的感叹号,如下图所示:
SVN_17.png
2. 右键点击该文件,选择“SVN Commit...”,并填写本次提交的日志(必填项,不填将导致提交失败),即将该更新提交到SVN库。
3. 对于CEE SVN库来说,对于当前生效版本,我们强烈建议您在提交前需保证所做的修改已经通过了测试,以避免影响现网服务。

4. 历史版本回滚

SVN服务器天然支持版本管理,因此如果开发者需要对某些历史版本进行回滚,可以直接在SVN客户端上进行历史版本回滚操作,将历史版本的目录或文件下载到本地服务器,然后再提交到SVN服务器即可。
详细说明如下:
1. 在需要进行历史版本回滚的目录或文件上,点击右键,选择菜单“TortoiseSVN”->“Show log”,如下图所示:
SVN_18.png


2. 在打开的“Log Messages”面板中,右键选中你要回滚的版本,在出现的右键菜单中选择“Revert to this revision”,即可执行回滚操作。如下图所示:
SVN_19.png


3. 回滚成功后,本地的目录或文件就被历史版本的目录或文件替代,可看到其图标变成红色的感叹号。

4. 开发者需要将该目录或文件提交到SVN服务器上,即右键选中该目录或文件,然后选择菜单中的“SVN Commit...”将文件提交到服务器。提交成功后,即完成历史版本的回滚。
 

5. 删除文件

步骤如下:
1. 在需要删除的目录或文件上,点击右键,选择菜单“TortoiseSVN”->“Delete”,如下图所示:
SVN_20.png
2. 点击“Delete”后,可以看见本地已经不存在该文件或目录。
3. 右键点击已删除文件原来所在的目录,选择“SVN Commit...”,并填写本次提交的日志(必填项,不填将导致提交失败),提交到SVN库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值