为什么我需要对 LaTeX 文档使用版本控制?我认识这样做的人,我也在这里和 SO 上看到过有关它的问题,但我不明白这样做有什么价值...
[也许这应该是 CW?]
答案1
作为单个用户,主要优势是
- 自动备份:如果您不小心删除了某个文件(或文件的一部分),您可以将其恢复。如果您更改了某些内容并想将其恢复,VCS 可以帮您恢复。
- 在多台计算机上共享:VCS 旨在帮助多人协作编辑文本文件。这使得在多台计算机(例如台式机和笔记本电脑)之间共享变得特别容易。您无需担心是否总是复制最新版本;VCS 会为您完成这项工作。即使您处于离线状态并在两台计算机上更改文件,一旦您在线,VCS 也会智能地合并更改。
- 版本控制和分支:假设你以 PDF 格式发布了一些课堂笔记,并想在处理明年的笔记的同时修复其中的一些拼写错误。没问题。你只需要修复一次拼写错误,VCS 就会将它们合并到其他版本中。
答案2
我也是使用版本控制的单用户。我同意 Caramdir 的所有理由,并补充以下内容:
- 标记。当我将论文寄给期刊时,我可以“标记”该版本,这样即使我在此期间自己做了改进,当我收到审稿人的报告时,我也可以很容易地恢复到评论所在的版本。此外,我很容易看到我何时将副本发送给了哪家期刊、合作者或电子版资料库。
- 与合作者合作即使他们自己没有 VCS。我可以在自己的系统上为我的合作者创建一个分支副本,每次只需复制他们的更正,然后将它们合并到主分支中,就像他们一直在使用 VCS 一样。保留使用版本控制的优点,但不要求所有合作者都使用它。
- 维护不同版本。Caramdir 已经说过这一点,但我想强调一下,因为这种情况发生得比人们想象的要多得多。当我写论文时,我首先是为自己写的。所以我使用大量宏和类似的东西让自己的生活变得轻松,以便于我打字。但后来我想把它提交给期刊,把它发送到 arXiv,把它发送到其他一些电子印刷服务器,在我的网页上放一份副本,把一份无障碍在我的网页上复制 ... 每一个都可能需要对文档进行轻微更改,例如,我使用的一台 eprint 服务器没有合适的字体,所以我必须在将论文发送到那里之前“降级”。但当然,在将版本发送到所有这些不同的地方后,我仍然在处理论文,因此 VCS 可以帮助我让它们保持同步。
顺便说一句,在我开始在网上记录我所做的一切事情的时候,我改用了版本控制系统。所以我写了关于这个过程的一些笔记这里我还发现了一个文章(也可作为维基百科) 对我决定切换到版本控制系统以及在版本控制系统中寻找什么非常有帮助。
答案3
使用修订控制可以让你无所畏惧地对文档进行彻底的更改。正如我的一位朋友 Peter Boothe 所说,说吧,
现在,你可以自由地丢弃一些零碎的东西,只要你确信自己真的想要它们,它们就会出现在修订控制系统中。有趣的是,几乎没有人真正使用这个功能。修订控制系统不是为了保存你的旧作品。它们是为了允许你丢弃旧作品。
答案4
对于任何其他类型的文档,使用版本控制都可以获得同样的优势。
帮助许多人协作处理单个文档/项目,跟踪文档演变过程中的所有更改,您可以还原和/或合并编辑。