首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GIT管理文档

使用GIT管理文档
EN

Stack Overflow用户
提问于 2011-01-11 16:20:14
回答 3查看 11.2K关注 0票数 6

我在一个网站上工作,在那里我将能够创建项目和上传数据到我的每个产品。数据主要可以是电子表格文档,图像,pdf等的形式。理想情况下,我想使用VCS (git pref)类型的设置,每次我更新特定的文档时,我只需将该文档提交到repo。任何关于我如何实现的想法都将是有帮助的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-11 18:33:49

您可以在每次上传后在子subshell中调用git。

但我不认为使用任何VCS是文档版本控制的好解决方案,尤其是在web应用程序中。这是因为对于类似office的文档,您将主要使用二进制数据。当涉及到二进制数据时,VCS很糟糕(没有例外)。你将不能做任何不同,元数据管理不适合这样的事情-提交的作者主要被绑定到特定的帐户(你可能会使用git的一个系统帐户),没有额外的信息(除了基本文件信息:大小,权限,时间)被存储,所以你将不得不自己存储它(作者,web应用程序用户的权限,额外的元数据)。还要注意,多个用户可以同时提交数据,因此在您的版本控制中会有分支。当你拥有庞大的数据集时(对于二进制办公文件,它可能比你想象的来得更快),你将无法对这样的存储库进行分区。

在IMO中,在这里使用VCS只会给您带来很小的收益,并且会带来额外的问题。

我建议将元数据保存在数据库中(文件名、版本、其他内容),并将文件版本保存在磁盘上。将每个带有修订的文件保存在单独的、唯一的目录中。这里有一个提示:不要使用来自upload的文件名。使用哈希函数根据内容和元数据计算唯一名称。

票数 9
EN

Stack Overflow用户

发布于 2011-01-11 16:40:00

没有通用的“保存时提交”特性(至少有一个集成了与您提到的文档类型相关联的所有编辑器)

最简单的方法是一个后台作业,例如每5分钟提交一次(或者在Git中是'git add -A && git commit -m "xxx" )。

实际上,Mark Longair评论:

被设计为从cron运行,以便使用某种合理的提交消息来执行第二段中描述的操作。

不过,我不确定这就是最初的海报所追求的。

Original project here

除非您有要查看增量历史记录的文件,否则

  • 自动备份是很好的选择。对于这段历史,
  • 源代码控制是很棒的,但大多数工具希望作者在此过程中手动提交他们的更改。
  • =>一种无缝的源代码控制解决方案,结合了自动备份的便利性和源代码版本控制的强大功能。
票数 1
EN

Stack Overflow用户

发布于 2012-11-03 13:43:05

作为Cezio回答的一个分支,如果您真的想使用VCS进行版本控制,可以考虑LaTeX。因为它本质上是编译成文档(通常是通过pdflatex的PDF )的源代码,所以它是一个合理的版本控制候选者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4655533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档