初级玩家

- 贡献度
- 2
- 金元
- 908
- 积分
- 99
- 精华
- 0
- 注册时间
- 2011-7-18
|
本帖最后由 fisherwei 于 2011-12-3 21:39 编辑
上周开始研究fcom等大型mod,这不是重点,重点是这种mod经常容易把游戏搞坏。
相信每个人都有装一个mod,用7z打包一个做备份的经历,我的老滚4目前已经20+G,那么搞的话会疯掉的。
于是想到引入一个先进一些的版本控制技术:GIT
GIT 是 linux kernel 的作者开发的一个用于管理版本的工具,linux本身就是用的git,在深入的细节请自行google。
下面说说tes4如何使用git,以及有什么优点。
优点:
1. 占用硬盘小: 在我的电脑上,tes4本身大约23.3G,而把用git备份的12个历史版本加起来,一共只用了32G。如果用传统的archive形式,会超过100G的占用。
2. 速度快: 除了第一次建立版本库稍慢以外(所谓稍慢也比用7z来archive一个完整包快),其他变更的跟踪都很快。
3. 回滚快: 3秒钟就可以清理当前所有变更,返回到之前的某一版本。
4. 支持分支: 想体验不同mod,之间又有冲突,可以装两套tes4,这个工作量想想就觉得可怕。用git的话,也是几秒钟就可以从一个branch切换到另一个branch。
缺点:
1. 因为git是为软件开发设计的,所以不是很友好(有GUI界面,但是我不会用),都是命令行形式。
2. 对windows支持的没有linux好。而tes又是一个win游戏。
用法:
不知道这里的朋友有没有对这个git管理mod有兴趣的,所以我先简单说说。
1. 要先安装git。
windows上有一个git的移植叫 msysGIT: http://code.google.com/p/msysgit/
下载并安装他。
2. 初始化git数据库
右键点tes4的文件夹,然后会有一个 git bash here
打开后是一个命令行窗口,输入 git init 回车。
(当然还有git gui here,不过我不会用,有兴趣可以试试)
3. 提交一个版本
BTW: 推荐第一个提交的版本用 95文件的纯净版
分别输入一下命令:(注: 只需输入两个#号中间的内容即可,第一个#表示提示符,第二个#表示对此命令的说明)
# git add . #把所有未被加入git的文件加入git
# git commit -m "the first version (95 files)" # 提交进版本库,双引号之间是简短说明,必须要有。
第一次时间会比较长,他会把游戏内容复制一份进 .git 文件夹(平时是隐藏的,可以通过显示隐藏文件夹观看,不过如果你不懂里面是什么的话,最好不要乱搞)
4. 提交一个变更
你有了一个纯净版被提交进版本库了之后,就可以尽情的折磨tes4了,把他们都删了都无所谓(tes4根目录和.git文件夹千万不能删,不然就什么都没了)
当你装了某些mod,然后经测试发现可以作为一个里程碑来保存了,就把他们提交进版本库
# git add . # 把新增加的之前未被加入的文件加入git
# git add -u # 把之前已有的,但是被修改过、删除过的文件加入git
# git commit -m "uopie 3.35, boss, bose, bomm" # 提交进版本库,双引号之间是简短说明,随便写,但是必须要有。
BTW: GIT 跟踪的是变更,而不是整个目录本身,所以它内部只会把有变化的文件保存。这就是他速度快的原因之一。
5. 撤销一次变更
当你发现tes4被你搞坏了,不要紧,3秒钟恢复到上一次的状态。
# git clean -f -d # 删除新增加的文件
# git reset --hard # 把被修改、删除的文件恢复
就先说这么多,有兴趣的人多的话,我在详细写写。
我已经尽量用非专业属于来描述git的功能了,有些地方对于git工作原理来说其实是不正确的,不过可以这么理解。
关于git更详细的用法可以参考 Pro Git 这本书 http://progit.org/book/zh/ 。中文的版本比较久,不过初学者够用了。 |
|