如何为Web应用程序的数据实现修订/版本控制

Jie*_*eng 2 version-control

我相信Wordpress会将多个帖子条目存储为"修订版",但我认为对空间的使用非常低效?

有没有更好的办法?我认为gitit是一个使用GIT进行版本控制的Wiki,但它是如何完成的?例如.我的应用程序是在PHP中,我必须让它与GIT交谈以提交和检索数据?

那么,在Web应用程序中实现版本控制的好方法是什么(例如在博客中它可能是帖子内容)

Ric*_*son 12

我最近实现了这样一个系统 - 它使用了取代记录的概念,以及先前和当前的链接.我做了大量关于如何最好地实现这一目标的研究 - 最后我得到的模型类似于Wordpress(和其他系统) - 将更改存储为新记录并使用它.

考虑到所有可用的选项,空间实际上是创作内容的最后一个问题,例如帖子 - 媒体文件占用更多空间,无论如何这些都不能存储为增量.

在任何情况下,Git的工作方式几乎完全相同,因为它存储了每个修订版的整个内容,除了它最终会打包成增量(或者当你要求它时).

Git存储对象图

回到1990年,我们使用SCCS或RCS,有时只有30mb的磁盘空间,我们真的需要版本控制才能有效避免耗尽存储空间.

鉴于现代系统上的平均可用存储量,使用增量来节省空间并不值得所有相关的恶化.你可以说这是浪费空间,但我认为从长远来看,以原始形式存储未压缩的东西会更有效率

  • 它更快
  • 搜索旧版本更容易
  • 它更快查看
  • 在不必处理大量增量的情况下,更容易跳入一组更改的中间.
  • 它实现起来要容易得多,因为您不必编写增量生成算法.

此外,标记与具有增量的纯文本一样,特别是在使用wysiwyg编辑器进行编辑时.