不能在repo中重新定义和管理Excel Sheet的冲突

时间:2014-08-19 10:55:56

标签: git tortoisegit

我们正在团队中使用TortoiseGit。回购中有一个共享的Excel工作表。当我提交更改并尝试推送时,它表示存在冲突,我拉动并尝试重新绑定,但它表示它不支持此类文件。

没有TortoiseGit rebase支持Excel工作表或非文本文件吗?

2 个答案:

答案 0 :(得分:5)

如果你有一些excel合并工具,你可以在TortoiseGit设置中设置外部合并工具:

enter image description here

然后,当您遇到冲突时,您可以使用该工具手动合并文件。

IIRC,没有这样的工具或脚本。 (但是,word文件有一个。)

然而,我得到了一个解决方法:

  1. 从扩展差异程序中复制diff脚本命令 enter image description here

  2. 粘贴到扩展“合并”程序,并修改参数 enter image description here
    (wscript.exe“C:\ Program Files \ TortoiseGit \ Diff-Scripts \ diff-xls.js”%mine%theirs // E:javascript)

  3. log和excel上下文
    enter image description here

  4. 将测试分支合并到主人 enter image description here

  5. 发生冲突,并按下解决按钮
    enter image description here

  6. 弹出
  7. 提交对话框,双击excel文件调用脚本
    enter image description here

  8. 手动合并
    enter image description here

  9. 保存到本地文件
    enter image description here

  10. 将文件标记为已解决 enter image description here

  11. 如果需要,请查看合并的excel文件,然后提交

答案 1 :(得分:0)

您可能想尝试使用xltrail客户端,这是Excel工作簿的免费开源Git扩展:https://github.com/ZoomerAnalytics/git-xltrail(免责声明,我是其中一位作者)。

它为Excel工作簿安装自定义差异和合并,以使git diffgit merge的工作方式与Git对文本文件的工作方式相同。

它目前仅适用于Excel工作簿中的VBA,但我们正在努力使其适用于工作表。基本上,当您合并时,它将确定哪些VBA模块已被删除,添加和修改并应用标准三向合并,并将带有标准Git表示法的冲突代码转储到受影响的VBA模块中(然后可以手动解析)使用Excel)。

有关示例(包括简短视频),请查看:https://www.xltrail.com/blog/git-merge-excel-vba