4

我正在构建一个类似 wiki 的网站,并且想知道如何实现文件版本控制以创建文章历史记录。当有人编辑文件时,我希望能够显示哪些部分已被编辑,并在必要时恢复到以前的文件。

编辑:感谢您的回复。我开始浏览它们,然后我意识到我的帖子不是很精确。所以我可以补充一点,我正在使用 Java 作为开发语言(准确地说是通过 Grails 进行的 Groovy)。此外,我正在构建的应用程序不仅仅是一个 Wiki。它做了很多其他的事情,但有些部分应该可以由几个用户编辑。因此,我正在为该特定工作寻找最佳人选。

4

3 回答 3

2

我只想看看ikiwikigitit是如何实现的(分别是 Perl 和 Haskell),因为它们都能够使用 Git 作为后端。

至于 ikiwiki(我在工作中将它用于我的 Intranet wiki),它将页面源(wiki 格式)保存为纯文件,并在每次保存(或git push从外部)后将站点“编译”为一组静态页面. 它使用make-style 方法来编译站点,但只重建更改的页面。

于 2012-06-17T21:11:06.520 回答
2

你可能想看看Gollum,Github 的 git 驱动的 wiki 引擎。

于 2012-06-18T12:01:02.843 回答
1

说到 Git,你所需要的已经以git blame和的形式实现了git checkout

即使您可以使用这些命令来完成工作,您可能会更好地使用libgit2它基本上是您需要的所有功能,但作为库而不是可执行文件。

于 2012-06-17T14:11:20.740 回答