先来认识下svn
svn是之前公司一直在用的代码版本控制系统,采用了分支管理系统。顾名思义,可以对代码的版本做系统化管理。通俗讲就是可用于多个人共同开发同一个项目,实现共用资源的目的。
开发同学使用svn集中式管理代码的工作流程就是;
1. 从服务器下载最新代码(检出svn checkout)
2. 进入自己的分支,编写代码,然后每隔一定时间向服务器自己的分支提交一次代码(commit)
3. 把自己的分支合并到服务器主分支上。
生命周期
1. 检出工作副本(checkout) 2. 更新(update) 3. 执行变更4. 复查变化(status) 5. 重置,修复错误(Revert)6. 解决冲突(Resolve)7. 提交修改(commit)
linux上常用的svn命令
检出:svn checkout http://svn.server.com/svn/project_repo --username=user01
查看更改: svn diff
更新本地副本: svn update(默认更新到最新版本) svn update -r6(更新到指定版本)
提交修改: svn commit -m "change HelloWorld.html second"
查看svn版本作者,日期,路径等:svn log,展示所有的版本日志。
svn log -r 6:8 想要特定某两个版本之间的信息
svn log trunk/HelloWorld.html 某一个文件的版本修改信息
svn log -l N -v 限定N条记录的目录信息,使用
用来显示特定修改的行级详细信息:svn diff
如果用 svn diff,不带任何参数,它将会比较你的工作文件与缓存在 .svn 的"原始"拷贝
svn diff -r 3 rule.txt 比较你的工作拷贝和版本库中版本号为 3 的文件 rule.txt。
svn diff -r 2:3 rule.txt 这两个版本会进行比较
查看某个版本的文件 svn cat
查看某目录下的文件 svn list