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
Centos环境下部署游戏服务器-SVN的更多相关文章
- Centos环境下部署游戏服务器-软件安装
这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...
- Centos环境下部署游戏服务器-常用命令
图1 在Linux的世界,如果你不玩命令,那你见了同行都不好意思和人家打招呼.同时服务器正常状况下放在远端,一般都是开ssh登录服务器,相信远程桌面的人很少见吧.这篇文章说说Linu ...
- Centos环境下部署游戏服务器-自动化
计算机是没有智力的,只会接受指令,运行指令,得出结果.因此就算你让它重复做一件事多少次,它也学不会自动去做这件事.对于重复繁琐的事情,做为一个懒惰的程序员,必须告诉机器去做这件事情,然后就行了,而不是 ...
- Centos环境下部署游戏服务器-编译
游戏服务器是在windows环境开发的,相关跨平台的东西在这里不谈了,只谈如何将Visual Studio 工程转换到Linux下编译.这里涉及到的软件分别为:Centos版本为6.4,Visual ...
- Centos环境下部署游戏服务器-权限
部署Web服务器的时候,在"DocumentRoot"指向的根目录新建一个文件夹,然后将网页和资源放在这个文件夹里,通过地址http://192.168.0.100/Res/ind ...
- Centos环境下部署游戏服务器-简介
一.前言 在接触这个操作系统之前我一直使用的是ubuntu和mac os,这次由于游戏是测试版本,没有专业的运维人员去做这件事情,只能我这个稍微懂一点linux的人来做这件事情了.由于涉及到 ...
- Centos环境下部署游戏服务器-iptables
简介: 图1 Centos做为服务器级操作系统,防火墙是不可缺少的.防火墙的主要功能为控制进出网络包,防火墙就如小区门卫的工作职责,检查出入小区居民的身份,如果不符合小区门卫管理条例 ...
- Centos环境下部署游戏服务器-SSH
在这个*nix大行其道的年代,SSH绝对值得你拥有,虽说它的语法真的很简单,可用途相当大.比如说你在登山,突然公司一个电话告诉你服务器出问题了,在登山的过程中,肯定不能背个几公斤的笔记本吧,这个时候只 ...
- Centos环境下部署游戏服务器-Eclipse
一直在想这篇文章该不该写,因为这篇文章更像是教你如何使用一个ide这种文章,毫无价值可言.但思来想去还是应给写.上篇文章主要说了编译原理和过程,这篇文章就是理论联系实际的典范.并且很多工程师一辈子都不 ...
随机推荐
- Android Jni变量对照表
字符 Java类型 C类型 V void void Z jboolean boolean I jint in ...
- 软件工程随堂小作业——随机四则运算(C++)
一.设计思路: 1.程序的主体部分是循环输出,次数即题目数目由用户输入: 2.三个整型变量+rand函数来实现随机数四则运算,一个变量代表加减乘除,另外两个用作运算数: 3.用户体验:题目分三列,排列 ...
- C语言编写的随机产生四则运算测试题
题目:编写一个四则运算测试题的程序,要求每道题都要随机产生 解题思路: 1.编写测试题,且为30道,就要用到循环函数,因此想到用for()函数 2.随机产生两个数,就想到用rand()函数. 注:1. ...
- jQuery插件开发总结
jQuery插件的开发包括两种: 一种是类级别的插件开发$.extend,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法,比如:$.ajax, $.getJSON等.jQuery ...
- 修改ptrace_scope
需要将kernel.yama.ptrace_scope=1 改为kernel.yama.ptrace_scope=0 文件位于/etc/sysctl.d/目录下 修改后需要用sysctl -p /et ...
- iOS UIApplicatin和它的delegate
每一个UIApplication代表一个应运程序,而且UIApplication是个单例类: ios程序一旦启动,创建的第一个对象就是UIApplication对象: // 拿到UIApplica ...
- Careercup - Google面试题 - 4877486110277632
2014-05-08 05:16 题目链接 原题: Given a circle with N defined points and a point M outside the circle, fin ...
- TCL随记(1)
string 函数: string compare [-nocase] [-length int] str1 str2 把字符串str1和str2进行比较,返回值为-1/0/1,分别对应str1小于/ ...
- jQuery设计思想
jQuery设计思想 原文网址:http://jqfundamentals.com/book/ 阮一峰 翻译整理 [目录] 一.选择网页元素 二.改变结果集 三.链式操作 四.元素的操作:取值和赋值 ...
- WebService流行框架之Axis和CXF
转自:http://www.cnblogs.com/snake-hand/archive/2013/06/09/3129915.html 前言 上节课我们对WebService进行了简单的介绍,对于其 ...