SVN简介
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
SVN 的一些概念
repository(源代码库):源代码统一存放的地方
Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
Commit(提交):当你已经修改了代码,你就需要Commit到repository
Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
SVN的 启动模式
- 首先,在服务端进行SVN版本库的相关配置 手动新建版本库目录
mkdir /opt/svn
- 利用svn命令创建版本库
svnadmin create /opt/svn/runoob
3.使用命令svnserve启动服务
svnserve -d -r 目录 --listen-port 端口号
注意:直接写svnserve -d-r 目录
,那么svn端口号默认为3690
SVN检出
svn checkout http://svn.server.com/svn/project_repo --username=user01
可以直接在TortoiseSVN工具上检出。在你想检出项目的地方,右键SVN Checkout,输入仓库的地址,就可以检出项目了。
SVN更新
在需要更新的文件或文件夹上,右键SVN Update,就可以将版本库上最新的代码更新到本地仓库。(SVN支持单文件更新也支持文件夹更新)
SVN提交
在提交文件前,注意先更新文件,当我们在更新下来的文件中,做出修改,可以在文件上右键,点击SVN Commit,提交修改的代码到版本库中,若我们新建了文件,我们需要右键,点击TortoiseSVN,点击add,将新建的文件加到版本控制中,之后,再右键点击SVN Commit将文件提交到版本库中。
SVN解决冲突
当小组开发,组员和你修改了同一处代码,然而,组员先于你提交代码,那么,当你提交代码时就会出现冲突。有以下几种操作:
(p) postpone, (df) show diff, (e) edit file, (m) merge,
(mc) my side of conflict, (tc) their side of conflict,
(s) show all options: mc
当我们解决冲突之后,我们就可以将文件提交上去了。