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这种文章,毫无价值可言.但思来想去还是应给写.上篇文章主要说了编译原理和过程,这篇文章就是理论联系实际的典范.并且很多工程师一辈子都不 ...
随机推荐
- P3384: [Usaco2004 Nov]Apple Catching 接苹果
一道DP题, f[i,j,k] 表示 第 k 时刻 由 1 位置 变换 j 次 到达 当前 i 棵树 注意也要维护 变换 0 次的情况. var i,j,k,t,w,now:longint; tree ...
- Graceful degradation versus progressive enhancement
http://ued.taobao.org/blog/2008/10/understanding-progressiveen-hancement-chs-translation/ http://www ...
- Linux 前台 和 后台进程 说明
一. 有关进程的几种常用方法 1.1 & 符号 在命令后面加上一个 & 符号,表示该命令放在后台执行,如: [oracle@singledb ~]$ crontab -l 20 17 ...
- M1分数分配
进过第一轮迭代我们依据工作量及质量决定分配分数方案: 王皓南 24.5分 黄宇冰 24分 申开亮 23.5分 许晋 21分 王宇杰 17分 吴润凡 16分 巴丹益昔 14分
- ArrayList、LinkedList、Vector的区别
Arraylist和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加插入元素,都允许直接序号索引元素,但是插入数据要涉及到数组元素移动等内存操作,所以插入数据慢,查找有下标, ...
- Careercup - Google面试题 - 4847954317803520
2014-05-08 21:33 题目链接 原题: largest number that an int variable can fit given a memory of certain size ...
- android开发 无预览定时拍照
demo实现功能: 打开主页面自动启动定时拍照,10s拍一次. 注意事项,初始化摄像头之后不能立即拍照,否则无效,必须等待几秒后才能拍.这里用的是Handler进行延时处理拍照消息的. package ...
- android开发 实现同时显示png/jpg 等bitmap图片还可以显示gif图片,有效防止OOM
本来使用第三方jar包 GifView.jar 发现使用的时候不能显示png图片,而且多次setgifimage的时候还会OOM: 现在使用了一个新的第三方,demo是别人的, 下载链接:http: ...
- EntityFramework走马观花之CRUD(上)
对于任何一个ORM框架,CRUD都是其核心功能,可以这么说,CRUD功能实现得好坏,直接决定了此ORM框架的命运. CRUD是英文Create.Read.Update.Delete四个单词的缩写,对应 ...
- Spring MVC 学习笔记 data binding
最近在实验Spring的时候遇到了一个问题: SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with ...