Subversion使用总结

一、源代码管理工具的种类:

1、CVS:始于90年,版本控制的开始工具鼻祖

2、SVN(Subversion):集中式的版本管理控制工具

3、GIT:分布式的版本管理控制工具

 

二、SVN的基本操作:

1、登录SVN服务器,使用账号和密码

2、从SVN服务器代码仓库代码下载到电脑本地:

checkout:下载所有文件到本地

3、将自己写的代码提交到SVN服务器:

commit:只提交修改之后的文件

4、如果其他人想看自己的代码,可以从SVN服务器获取最新的代码:

update:只会更新被修改的文件

5、基本策略(SVN,CVS):

拷贝(下载代码)-修改(修改代码)-合并(合并代码)

6、其它策略(类似微软的VSS,不能进行并行开发):

锁定(下载代码,锁住服务器)-修改(修改代码)-解锁(解锁后,其它人才可以从服务器下载代码)

注意事项:每天上班之前,checkout,只需要做一次;每天下班之前,commit提交一次“可运行的版本”;想要往服务器提交代码,必须要保证本地的代码和服务器的一致,出现“out of date”,说明服务器的代码已经被别人修改过了,需要update一下。

其它:

1、经常更新

2、提交前需要在本机测试通过

3、提交时一定写备注(注释)

4、对于不需要提交的文件不要提交到版本库

5、每次修改之前最好更新

6、每天下班之前提交当天运行通过的代码

7、每天上班第一件事情更新前一天的代码

 

三、服务器端的安装配置:

1、服务器(存储客户端上传的源代码)

使用工具:Visual SVN Server(只适用于Windows电脑)

下载地址:

https://www.visualsvn.com/server/download/

2、客户端(上传本地的源代码到服务器,或者更新服务器的代码到本地,保持同步)

使用工具:命定行,Versins,Cornerstone,Xcode

 

四、客户端软件使用:

1、使用命定行工具,拷贝服务器文件夹到电脑本地

cd /Users/Desktop/SvnFolder/manager

svn checkout http://192.168.15.155/svn/projectName

 

cd /Users/Desktop/SvnFolder/zhangsan

svn checkout http://192.168.15.155/svn/projectName

 

cd /Users/Desktop/SvnFolder/lisi

svn checkout http://192.168.15.155/svn/projectName

 

cd /Users/Desktop/SvnFolder/wangwu

svn checkout http://192.168.15.155/svn/projectName

 

2、提交代码

cd /Users/Desktop/SvnFolder/manager/projectName

touch main.c

open main.c

svn state(查看状态)

svn add main.c

svn commit main.c -m “初始化项目”

 

cd /Users/Desktop/SvnFolder/zhangsan/projectName

svn update

 

cd /Users/Desktop/SvnFolder/lisi/projectName

svn update

 

cd /Users/Desktop/SvnFolder/wangwu/projectName

svn update

 

3、执行返回到下载的版本号

cd /Users/Desktop/SvnFolder/manager

cd projectName/

svn revert main.c

 

4、执行返回到指定的版本号

svn update -r 3

 

5、执行查看所有的版本号

svn log mian.c

 

6、平时使用SVN的时候,会遇到两个常见的问题

a.超时:先更新再提交,只有本地的版本号大于等于服务器的版本号,才能提交,否则会出现“out of date”问题。

b.冲突:conflict discovers in(提示我们如何解决问题)

三种情况:

第一种、mine-conflict:代表用我们的代码替换服务器的代码,本地代码只保存我们的。

第二种、theirs-conflict:代表用服务器的代码替换我们的代码,本地代码只保存服务器的。

第三种、postpone:自己手动解决,本地文件中会同时保留服务器代码和本地代码。

其它注意事项:

.svn这个隐藏目录记录着非常关键的信息,不要去修改、删除这个隐藏目录和里面的文件,否则将会导致本地的工作副本被破坏,无法再进行操作

 

五、Xcode管理SVN步骤:

1、在Cornerstone中添加服务器manager

2、创建Xcode工程

3、选中服务器manager,点import(把工程导入到SVN服务器)

4、填写日志信息

5、Cornerstone中点击checkout下载代码到本地manager文件夹

6、指定对应的开发人员,比如:peter,通过Xcode的checkout下载代码

7、Xcode—>preferences—>accounts—>add reponsity—>填写SVN地址—>输入账户和密码

8、Xcode—>SourceControl—>checkout—>repository(选择没有端口的地址)—>next—>保存工程位置

9、Xcode—>添加.m文件中的代码—>Commit提交(userdata是用户缓存目录,断点信息,布局信息和打开文件信息)

10、Xcode—>SourceControl—>Discard All Changes(没有提交之前反悔)

11、Xcode—>SourceControl—>update出现冲突—>点击?问号—>四项选择(服务器在上我的代码在下面,使用我的代码,使用服务器的代码,我的在上服务器的代码在下面)—>Commit提交

12、查看整个项目记录Xcode—>SourceControl—>History,查看单个文件记录Xcode—>Version editor—>Log

 

六、SVN目录规范:

trunk:主干,开发项目的主目录

branches:分支,分支目录,非主线功能,发现发布版本后有BUG,拷贝一份到分支,然后在分支解决BUG,测试之后,可以合并到主干

tag:标识符,标记目录,重大版本的备份

操作流程:主干发布1.0版本—>并右键点击trunk文件夹,标记备份1.0版本—>发现1.0版本有BUG—>右键点击1.0文件夹,拷贝1.0版本到分支—>然后选择分支,工程中修改1.0版本BUG—>经理验证完毕,发布1.1版本—>并右键点击1.1版本,标记备份1.1版本—>然后合并1.1分支到主干

注意事项:合并主干版本和修复的分支版本不成功,记住一定要删除userdata文件。如果下次出来显示?击右键,ignore忽略文件

原文地址:https://www.cnblogs.com/yuhao309/p/7267920.html