应该在版本控制中存储哪些文档以及如何存储它们?

Oli*_*eng 26 git documentation version-control diagram wiki

我发现了一些类似的问题(这里,这里,这里),询问是否将文档存储到版本控制中.我有一个更具体的要求和一般性问题.具体要求是我想使用Git.更一般的问题是,如何将文档(用于项目的设计,测试,一般实践,技巧等)存储在Git中?更广泛地说,应该存储哪些文件?

我可以想到几个方面:

  1. Word/Open Office文档.新的Office Word具有docx格式,它可以压缩文档,但它也有一个解压缩的XML格式,可用于在Git中有效地存储差异.尽管如此,diff功能仍然被打破,因为XML被压缩在一条线上.这并不比将二进制文件存储到Git中更好.
  2. 维基.那里存在什么分布式维基?这就像某种Latex事情,文档被编写和编译/视为维基.
  3. 乳胶 - 但从用于纸张我发现它非常不适合文件.是否有相同的文档?(如何编写手册页?)
  4. 纯文本格式,但由于缺少图表而缺乏这一点,这带来了另一个观点.

应该如何存储视觉效果?他们首先应该创作什么?我正在Linux环境中开发,但项目中的其他一些参与者都在Windows上.哪种跨平台解决方案类似于Visio?当然,它不应该创建存储到Git中的二进制文件.那怎么会与文件相关呢?(例如,类似于Latex在编译时可以引用其他图表.)

hil*_*llu 8

在决定选择哪种文档格式时,您应该确保团队成员(或者您是独自工作?)是否适合使用格式本身.

  1. 存储不是问题,因为能够看到版本和合并之间的差异.根据我的经验,没有什么比在任何文本编辑器中可以自由编辑的文本格式更好.这不包括HTML和任何基于XML的格式.DocBook是一个几乎无法使用的例外.

  2. 可以使用任何流行的版本控制系统并以分布式方式设置的好wiki是IkiWiki.使用IkiWiki,标记解析在插件中完成,因此您可以基于每个文档选择输入格式."默认",Markdown非常接近纯文本格式.

  3. 如果您对使用LaTeX不满意,请不要使用它.我认为这不适合做快速笔记.手册页是用nroff编写的,但很多人使用其他格式,如POD.

一些努力成为Visio替代品的项目是Kivio(KDE)和Dia(Gtk/Gnome).我没有使用Visio本身,所以我无法评论他们的功能集.它可能取决于您想要创建的视觉/图表类型.UML?流程图?


Blo*_*ard 6

我的公司在Word中存储Word文档,并通过TortoiseSVN访问它们.

Tortoise使用Word内置的更改跟踪功能向您显示两个修订版的"差异".

这非常有效,但需要Windows和Word.

编辑:

你可能也可以使用git.如果您安装TortoiseSVN,那么请查看%PROGRAMFILES%\TortoiseSVN\Diff-Scripts\,您将看到乌龟正在做什么.

如果你正在使用git,我认为你已经足够1337来破解它为你工作了:)

  • 这是我[解决它一起攻击Git]的解决方案(http://xcafebabe.blogspot.hu/2012/09/sexy-comparison-of-word-documents-with.html):-) (2认同)

Gre*_*ill 1

Git 可以像处理文本文件一样处理二进制文件。Git 不是显式存储差异,而是将文件的整个先前修订版本存储在存储库中。然后存储库对象被压缩以节省空间。只要您需要,差异就会即时重建。

因此,仅考虑磁盘空间,在 Git 中存储未压缩的 XML Office 文档与存储同一文档的压缩版本之间几乎没有区别。唯一的区别是 Zip 与 Git 选择使用的任何压缩的相对性能。

  • 实际上,我认为如果节省足够大,git 会执行二进制差异(在创建包文件时)...... (3认同)