【发布时间】:2011-02-18 11:40:11
【问题描述】:
当然,Mathematica 笔记本是纯文本文件——期望它们与版本控制系统(在我的情况下是 git,尽管我怀疑特定系统是否重要)可以很好地配合似乎是合理的。但事实是任何 .nb 文件都充满了缓存信息、时间戳和其他各种元数据。数不胜数。
这意味着可以进行有限的版本控制——提交和回滚工作正常。然而,合并是一场灾难。 Mathematica 不会打开带有合并标记的文件,并且文本编辑器无法处理 .nb 文件。
有没有人幸运地将笔记本置于版本控制之下?怎么样?
【问题讨论】:
-
对于真正的合并冲突,您无能为力,因为两个人确实以相互冲突的方式编辑同一事物。正如您所说,Mathematica 无法打开带有冲突标记的文件(或在内部进行三向差异),因此您必须自己以文本形式解决它们。不过,Michael Pilat 的回答应该有助于解决元数据冲突。
-
这里不熟悉mathematica -- .nb 文件是自动生成的吗?如果是这样,请不要将它们置于版本控制之下。
-
@hasen j:.nb 文件不是完全自动生成的,但其中有自动生成的元数据。我认为 Michael Pilat 的回答现在消除了这方面的困惑。
-
@hasen j:作为 dreeves 所说的补充,.nb(笔记本)文件是存储 Mathematica 内容(代码)的主要方式。如果有什么东西应该在版本控制之下,他们应该。
标签: git version-control wolfram-mathematica