SVN的使用

使用svn命令进行多人协作开发的版本管理。

注意:所有操作都是通过终端命令进行,且在当前项目的目录下进行。

// 查看帮助信息
svn help
// 或
svn h

文件导出

// 从服务器导出源文件(包含svn版本信息)
svn checkout 服务器路径 本地路径
// 指定导出版本
svn checkout -revision 版本号 服务器路径 本地路径
// 从服务器导出源文件(不包含svn版本信息)
svn export 服务器路径 本地路径

信息查看

// 查看版本信息
svn info
// 将本地文件导入服务器,前提是服务器尚未创建
svn import 本地路径 服务器路径
// 查看服务器项目信息
svn list
// 或
svn ls

源文件操作:更新、添加、修改、删除、重命名、复制

// 更新本地源文件
svn update
// 或
svn up
// 更新指定版本库
svn update -revision 版本号
// 添加、修改文件
suv add 文件名称
// 删除文件
svn delete 文件名称
// 或
svn del 文件名称
// 文件名称
svn remove 文件名称
// 或
svn rm 文件名称
// 文件重命名
svn move 文件原名称 文件新名称
// 或
svn mv 文件原名称 文件新名称
// 创建新目录
svn mkdir 目录名称
// 复制(源文件名称与目的文件名称同名)
svn copy 源目录名称/源文件名称 目的目录名称/目的文件名称
// 或
svn copy 源目录名称/源文件名称 目的目录名称/目的文件名称
// 查看修改状态
svn status
// 或
svn stat
// 或
svn st
// 查看修改状态位信息
svn diff 目录名称
// 或
svn di 目录名称
// 或
svn diff 文件名称
// 或指定版本
svn diff -revision 版本号 目录名称
// 或
svn diff -revision 版本号 文件名称
// 取消修改
svn revert 文件名称
// 取消整个目录修改
svn revert . -R/--recursive

分支操作

// 创建分支
svn copy 主分支路径 新分支路径 -m '说明'
// 示例
svn copy svn://xxx.com/repo/trunk svn://xxx.com/repo/barnches/newBranch -m 'make branch newBranch'
// 切换分支
svn switch 分支路径
// 示例
svn switch svn://xxx.com/repo/branches/newBranch
// 添加标签
svn copy 分支路径 分支标签
// 示例
svn copy svn://xxx.com/repo/trunk svn://xxx.com/repo/tags/v1.0.0

分支合并到主分支(主干)

// 查找分支版本
svn branches/分支目录 svn log-stop-on-copy
// 指定版本号分支合并到主干(切换回主干)
svn merge -r 分支版本号:HEAD 分支路径
// 示例
svn merge -r 10101:HEAD svn://xxx.com/repo/branches/newBranch
// 分支合并
svn merge 分支路径 分支路径 svn ci -m '说明'
// 示例
svn merge svn://xxx.com/repo/branches/oldBranch svn://xxx.com/repo/branches/newBranch svn ci -m 'merge'
// 合并主干到分支
svn merge -r LastRevisionMergedFromTrunkToBranch:HEAD 分支路径
// 示例
svn merge -r LastRevisionMergedFromTrunkToBranch:HEAD svn://xxx.com/repo/branches/newBranch

提交代码

svn commit -m '说明'
// 或
svn ci -m '说明'

解决合并时的冲突

// 手动解决冲突文件
svn resolve 文件名称 --accept working
// 选择base版本,即xxx.rOLDREV作为最后提交的版本
svn resolve 文件名称 --accept base
// 使用xxx.rNEWREV作为最后提交的版本
svn resolve 文件名称 --accept theirs-full
// 使用xxx.mine作为最后提交的版本
svn resolve 文件名称 --accept mine-full
// 或
svn resolve 文件名称 --accept theirs-conflict

你可能感兴趣的:(SVN的使用)