Centos环境下部署游戏服务器-SVN
阅读原文时间:2024年09月30日阅读:1

版本控制工具的文章已经被写滥了,所以本篇文章不想介绍如何安装Svn如何可视化操作这些东西。本篇文章讲述我自己对Svn的理解,以及在命令行下操作。为啥不应可视化界面?有两方面的原因,远程登录到服务器都是用ssh,另外一方面原因可视化界面在表达想法的时候,通常都是绕几层的,如果你不理解后面到底是发生了什么,可视化界面会遇到很多问题,并且心里会不踏实。所以去学习软件背后运行的原理和过程后,一切操作起来都显得那么自然。

     版本控制的原理是每次提交都会生成一个节点,节点组成一个枝干。这是最基本的原理,就像《三体》里提到的黑暗森林法则,虽然简单,但衍生出了整个宇宙社会学。针对节点,可以执行添加,删除,修改操作。这些操作会生成一个新的节点,版本信息就会将上一个节点的区别纪录下来。这样就可以查看历史,可以回滚到任何一个节点,并且只要保留最新节点的文件就行,因为所有节点都可以通过本节点推导出来。

    

$svn --help

针对*nix系统,当一个命令不知道如何用的时候通常都是找man来帮忙。正对安装软件的程序,一般都会会有help这个命令。这也符合最小惊奇原则,意思就是这是传承下来的东西,大家都是这样用的,如果你另辟新意会给别人带来很大的负担,自然你做的东西不过不是惊世骇俗的话,没人愿意花时间和经历去学习一套新的东西。

$svn import ./trunk/ file:///home/user/trunk -m "import new file to the repository"

这条命令用来将其它地方的文件导入到指定的分支。

     

$svn co http://youraddress/repos

co 是 checkout 的缩写,你也可以用 svn checkout 。这条命令是将指定地址的分支克隆到你所在的目录,去google source 获取开源代码常用到这个命令。

   

$svn ci -m "add new files"

ci 是 commit的缩写,同样的道理也可用svn commit 。这条命令是将在本地的修改添加到分支版本控制里,生成一个新的节点。

     

$svn add filename

添加新文件到版本库里,这个操作只是将一个文件加到本地版本控制库里,如果想要提交到远端库里需要执行svn commit操作。

          

$svn rm file

和add是同样的道理,删除本地库文件,为啥不直接调用rm更省事呢,因为rm只是将本地文件删除,但本地版本库里不知道这件事情,所以当你提交的时候会提示有文件丢失。

 $svn update

远端的版本是最新的,并且是很多人同时维护的,所以说在提交版本的时候,必须保证是在最新的库文件基础上去修改,在不是最新版本的时候,强制提交,客户端会自动提交,背后的原因就是服务器版本是最新的资源,而不是本地版本。

     

$svn log

查看版本日志信息,其实就是所有节点的具体信息,包括提交人,时间,信息,节点树。

$svn log file

查看某个文件的日志

$svn co -r  100

回滚到节点100,这个功能用来将远端代码某个节点覆盖到本地代码。

     

     Svn 还有很多高级应用技巧,需要不断的学习和挖掘,上文提到的是一些常用的命令以及用法,是不是看到这些命令很熟悉,如果不熟悉的话,说明你使用的svn版本不是英文版,英文版的可视化界面都是有这些关键字,所以说当程序员学好英文是很重要的。

参考:

http://wiki.centos.org/HowTos/Subversion

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章