Eta*_*oin 68 git version-control wolfram-mathematica
Mathematica笔记本当然是纯文本文件 - 期望他们应该使用版本控制系统(在我的情况下使用git,虽然我怀疑特定系统很重要)似乎是合理的.但事实是任何.nb文件都充满了缓存信息,时间戳和其他各种元数据.它的一团糟.
这意味着可以进行有限的版本控制 - 提交和回滚工作正常.但是,合并是一场灾难.Mathematica不会打开包含合并标记的文件,文本编辑器无法通过.nb文件.
有没有人有运气将笔记本置于版本控制之下?怎么样?
Mic*_*lat 45
建议禁用文件大纲缓存,这是您使用文本编辑器查看笔记本时所指的元数据.正如您所发现的,如果多方正在编辑同一个笔记本,它可能会导致合并冲突.
使用Option Inspector可以轻松禁用此功能.在Mathematica菜单中,转到格式 → 选项检查器...,在左上角将范围下拉列表设置为选定笔记本并FileOutlineCache在搜索字段中搜索.将选项设置为False并保存您的笔记本,您应该全部设置.
请注意,这可能会使打开笔记本电脑变慢,但除非笔记本电脑相当大,否则您可能不会注意到差异.
小智 11
关于如何使用Git在Mathematica Stack Exchange上使用Mathematica进行版本控制,有一套很好的建议.简而言之,理念是尽量减少.nb笔记本的使用,并尝试使用.m软件包进行大部分版本控制(类似于xuhdev和MMA用户所说的).考虑到笔记本电脑的管理方式,这似乎很明智.
完全不是解决你的合并问题的方法,但这就是我们在团队中处理笔记本和源代码控制的方法.基本上,我们以对待二进制文件的方式对待Mathematica笔记本.他们已办理登机手续,但是:
我们大多使用Mathematica进行小型校对,探索和侧轨,因此上述程序对我们来说很好(我们的主要文档是在LaTeX中,它为非数学家/非程序员生成更友好的文档)