Excel如何进行SVN协作、差异比较?

嗯,这是一个令人困惑的问题。
游戏开发、程序开发时,使用Excel可以添加文档、注释、图标、批注等等各种辅助信息;

但是Excel是非纯文本格式,在使用SVN、Git等版本管理软件时,多人进行编辑就会非常容易造成冲突,无法自动合并。 而且在冲突以后,我们很难得知究竟别人改动了哪里。

Excel差异比较的几种方法

因此,总结一下以下方法,可以对Excel表格进行差异比较:

  • 使用Beyond Compare比较Excel
  • 使用TSV表格代替Excel
  • TortoiseSVN的Excel表格比较
  • Excel共享工作簿

使用Beyond Compare比较Excel

图: Excel表格进行差异

商业软件Beyond Compare具有Excel比较功能, 它类似首先把Excel当前打开Sheet转化成TSV,再进行比较。详情可查看Beyond Compare的官方说明

使用TSV表格代替Excel

KEngine中,策划编辑的配置表经过编译,正是会变成TSV格式的文本文件。

原则上,策划编辑的配置表建议使用Excel的方式,可以方便的添加各种辅助信息;但也为了照顾部分人的习惯,也同时支持了直接编辑TSV文件方式:

图:策划编辑TSV源文件

TSV源编辑文件,以.tsv格式为后缀放置到配置表源文件目录,变会进行编译。规范要求跟Excel一样,头部三行分别是列名、类型、注释。

TSV是一种纯文本格式,在Excel中对TSV表格做的润饰,如设置背景色、列宽等,能看到效果,但都不能被保存。

参照KEngine源码中的 KEngine.UnityProject/Product/SettingSource/AppConfig+TSV.tsv文件。

TortoiseSVN的Excel表格比较

TortoiseSVN客户端时具有Excel比较功能,发生文件冲突后,双击冲突的文件,它就直接调用Excel了,打开多个窗口了。冲突的部分,会用背景色红色标红,但是它的体验非常不好,经常让人摸不着头脑,搞不清楚哪里是改过的,哪里是删掉的;更何况,本身我的Excel文件里就有各种不同的背景色,十分混乱。不推荐。

Excel共享工作簿

貌似微软提供了Excel文件的多人协作功能,这个没有用过,不论述了;

版权说明

文/公的Kelly[mr-kelly](简书作者)     Email: 23110388@qq.com
原文链接:http://www.jianshu.com/p/2ea5468e9d5b
著作权归作者所有,转载请联系作者获得授权,,并标注“简书作者”。

KSFramework系列

github地址:https://github.com/mr-kelly/KSFramework

欢迎大家到 github提issues

KSFramework(集成U3D热重载)README

KSFramework:Unity3D开发框架快速入门

KEngine策划指南:配置表格的编辑与编译

KEngine:Unity3D资源的打包、加载、调试监控

KSFramework常见问题:Lua脚本热重载,内存状态数据丢失?

KSFramework常见问题:Excel如何进行SVN协作、差异比较?的更多相关文章

  1. Excel如何进行SVN

    KSFramework常见问题:Excel如何进行SVN协作.差异比较?   Excel如何进行SVN协作.差异比较? 嗯,这是一个令人困惑的问题.游戏开发.程序开发时,使用Excel可以添加文档.注 ...

  2. svn的差异查看器和合并工具换成BCompare.exe

    svn的差异查看器和合并工具换成BCompare.exe

  3. KSFramework常见问题:Lua脚本热重载,内存状态数据丢失?

    Lua热重载 内存数据在重载后会丢失 KSFramework中,所有的UI Lua脚本是可以重载的.脚本中的一些内存数据,在重载后会丢失,比如: -- 记录一个UI界面被打开了多少次 function ...

  4. SVN导出差异版本更新的文件列表

    对于在服务器上没有使用版本控制的运维人员来说,每次SVN修改的文件都需要查看更改日志,一个个查找出来再更新到服务器,过程实在是痛苦 那么有没有一种方法跑个命令比对一下版本就哗啦啦的把修改好的文件复制出 ...

  5. 学员会诊之02:SVN协作以及Page类的设计

    三层架构的学生管理系统是我们第一个稍微大型的项目:分层.一个解决方案多个Project,所以值得我们停下来好好审查审查. 1.测试SVN服务器地址 我们的作业要求学员创建自己的SVN服务器,并且将代码 ...

  6. 怎么对比两个excel文档的数据差异

    百度经验: https://jingyan.baidu.com/article/6181c3e0877c7a152ef15304.html

  7. KSFramework:集成U3D热重载框架 - README

    KSFramework KEngine + SLua+ Framework = KSFramework KSFramework是一个整合KEngine.SLua的Unity 5开发框架,并为程序.美术 ...

  8. 另类Unity热更新大法:代码注入式补丁热更新

    对老项目进行热更新 项目用纯C#开发的? 眼看Unity引擎热火朝天,无数程序猿加入到了Unity开发的大本营. 一些老项目,在当时ulua/slua还不如今天那样的成熟,因此他们选择了全c#开发:也 ...

  9. Open Source

    资源来源于http://www.cnblogs.com/Leo_wl/category/246424.html RabbitMQ 安装与使用 摘要: RabbitMQ 安装与使用 前言 吃多了拉就是队 ...

随机推荐

  1. github上比较全的知识

    https://github.com/hawx1993/github-FE-project

  2. HTML <hr /> 标签 在页面中创建一条水平线

    一,定义和用法 <hr /> 标签在 HTML 页面中创建一条水平线. 水平分隔线(horizontal rule)可以在视觉上将文档分隔成各个部分. 二,HTML 与 XHTML 之间的 ...

  3. 学习zepto.js(原型方法)[2]

    接着昨天的来,继续说原型方法,昨天的传送阵(昨天出了点小意外,博文经过WP手机的UC浏览器进行编辑后标签就露出来了- -,现已修复); $.grep(): 作用与Array.filter类似(其实就是 ...

  4. SharePoint 2013 通过审计获取文档下载次数

    1.创建一个文档库,进入库设置,找到”Information management policy settings”,点进去,如下图: 2.分别设置”Document”.”Folder”两个,如下图: ...

  5. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  6. System.Web.HttpException: 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。 ---> System.Runtime.Serialization.Seria

    序列化问题:查询度娘各种答案不一  多为修改web.config找到SessionState节,将Mode 设置为 InProc   ,还有舍弃Session用cookie存储,多经试验觉得还是写一个 ...

  7. 极其简单的搭建eclipse的android开发环境

    这篇博客是关于如何搭建eclipse的android开发环境, 与网上的其他博客不同,我的方法比他们简单的多,所 以推荐给大家. 搭建eclipse的android开发环境步骤: 1.配置JDK(Ja ...

  8. Android 第一个程序 及 环境搭配

    一. JDK配置 1.找到jdk安装路径 2.配置环境变量(建议配置在系统变量里面) 1).配置JAVA_HOME变量 2).配置 CLASSPATH 环境变量 CLASSPATH=.;%JAVA_H ...

  9. iOS中使用 Reachability 检测网络

    iOS中使用 Reachability 检测网络 内容提示:下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测.   写本文的目的 了解Reachability都 ...

  10. 【读书笔记】iOS网络-同步请求,队列式异步请求,异步请求的区别

    一,同步请求的最佳实践. 1,只在后台过程中使用同步请求,除非确定访问的是本地文件资源,否则请不要在主线程上使用. 2,只有在知道返回的数据不会超出应用的内存时才使用同步请求.记住,整个响应体都会位于 ...