SVN
svn全称Subversion, 是个开源版本管理系统, 跟git相似. 把数据放在中央资料管理库当中. 会记录每一次稳健的变动. 这样就可以吧档案恢复到旧版本
一般用于多人开发同一项目使用, 为了达到合作开发的目的
SVN安装
- repository(源代码库): 源代码统一存放的地方
- checkout(提取): 当没有源代码时, 需要repository checkout一份
- commit(提交): 修改代码时, 需要提交来存放
- updata(更新): 当checkout后,就可以updata即可同步
启动svn
-
新建版本库目录
mkdir /opt/svn
-
创建版本库
svnadmin create /opt/svn/runoob
-
使用svnserve启动服务
svnserve -d -r 目录 --listen-port 端口号
- -r: 配置方法决定版本库管理方式
- –listen-port: 指定svn监听端口, 不加此参数将默认监听3690
svn打分支与合并分支
打分支
- 到trunk里, 选择branch/tag
- 填写分支路径
- 到branch里svn up, 就会有对应分支
合并分支
- 到trunk中 选择, merge
- 选择第一个merge a rang of revisions
Merge a rang of revisions。:把分支中的修改合并到主干上来 。有冲突会爆出了,可以修改。
Merge two different trees. : 可以选择过去的一个主干版本与分支的某个版本进行合并。以分支版本为主,如果主干版本与分支版本有不同的地方,合并时主干的不同部分将被放弃。
- 写分支地址
- merge合并
svn的常用命令
-
将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
-
往版本库中添加新的文件
svn add file
-
将改动的文件提交到版本库
svn commit -m “LogMessage” [-N] [--no-unlock] PATH
-
加锁/解锁
svn lock -m “LockMessage” [--force] PATH
``svn unlock PATH` -
更新到某个版本
svn update -r m path
-
查看文件或者目录状态
svn status path(目录下的文件和子目录的状态,正常状态不显示)
svn status -v path(显示文件和子目录状态)
-
删除文件
svn delete path -m “delete test fle”
-
查看日志
svn log path
-
查看文件详细信息
svn info path
-
比较差异
svn diff path(将修改的文件与基础版本比较)
svn diff -r m:n path(对版本m和版本n比较差异)
-
将两个版本之间的差异合并到当前文件
svn merge -r m:n path