zoukankan      html  css  js  c++  java
  • Centos环境下部署游戏服务器-SVN

         版本控制工具的文章已经被写滥了,所以本篇文章不想介绍如何安装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
  • 相关阅读:
    利用Python进行数据分析(3) 使用IPython提高开发效率
    利用Python进行数据分析(2) 尝试处理一份JSON数据并生成条形图
    利用Python进行数据分析(1) 简单介绍
    在真机调试 iOS 应用:理解 Certificates, Identifiers & Profiles
    iOS: 在iPhone和Apple Watch之间共享数据: App Groups
    iOS: 在UIViewController 中添加Static UITableView
    iOS Interface Builder:在.xib文件中加载另一个.xib文件
    在项目中同时使用Objective-C和Swift
    iOS: 为画板App增加 Undo/Redo(撤销/重做)操作
    在iOS中实现一个简单的画板App
  • 原文地址:https://www.cnblogs.com/fengju/p/6174319.html
Copyright © 2011-2022 走看看