在Git上保存Excel文件版本以便稍后手动协调差异

时间:2018-02-21 09:32:08

标签: excel git

我将在一个月内更新Excel文件。这些文件使用英语以外的语言。我以为我也可以用Git管理我想做的事情。

情况(初始提交)

我有一个用另一种语言编写的Excel文件。

我必须执行一些工作并使用该数据填充Excel文件。

我的计划

初始提交后,创建一个名为toEnglish的分支。然后将Excel文件上的一些文本翻译成英文,这样我感觉更舒服。一旦我这样做,我会承诺。

然后,一个月的工作将开始,我将填写Excel文件中的数据。我会定期提交。

在一个月结束后,我将提交,因此我将在Excel页面中填写数据,其中一些标签是英文的。

然而,一个月工作的输出必须使用原始语言的那些标签。

所以我有原始语言标签的原始分支,但没有数据 和toEnglish分支与数据但英文标签。

问题

我无法合并(快进合并)分支,因为这将消除原始语言标签,因此我如何合并以产生冲突(两种不同语言的标签),我将逐一解决最终合并将两者数据和原始语言的标签?

3 个答案:

答案 0 :(得分:3)

在Git中对Excel文件进​​行版本控制存在更大的问题,即Excel文件(xlsxlsx)是二进制。 Git通常不能很好地处理二进制文件。您在Excel文件上进行的每次提交都可能将整个文件记录为差异。此外,比较来自两个不同提交/分支的Excel文件不会给你太多的了解。

我们想到的一种解决方法是对Excel工作表的纯文本CSV版本进行版本控制。这样的CSV文件 很可能与Git很好地兼容。当然,如果工作表在数据之上有很多丰富的内容,那么这个选项可能也不行。

答案 1 :(得分:1)

有一个开放源代码的Git扩展,可以使Excel工作簿文件具有差异性和可合并性:https://github.com/ZoomerAnalytics/git-xltrail(免责声明,我是作者之一)

它为xls *类型安装了自定义的差异和合并,并相应地配置了Git,使其行为与文本文件相同。

有关文档和简短视频,请查看https://www.xltrail.com/client

答案 2 :(得分:0)

Excel在Git中有点无用 - 无论是二进制文件(xlsb还是xlsx)都没关系 - 它只是复制文件并保持原样。因此,为VBA开发人员进行工作源代码控制是一个挑战 - 一般来说,它被认为不存在且无法完成(这是我通常听到的),但有一些解决方法 - 例如,如果您遵循MVC并且您没有在工作表中添加任何业务逻辑。

您可以做的只是将工作表保存到csv并继续工作,就好像它是普通的纯文本一样。最后,根据不同的工作表,即使是一些“手动”合并公式也是可能的(这是excel给出的奖励)。