版本控制系统,用于跟踪单个文件

时间:2011-11-05 19:17:56

标签: linux version-control latex

到目前为止,我使用git来管理我的乳胶文件。但是,git会立即管理文件夹中的所有latex文件。

我想要的是版本控制系统

  • 分别为每个文件提供了历史记录
  • 让我查看单个文件的旧版本,而不会影响其他文件
  • 让我为每个单独的文件创建分支,影响其他文件
  • 为各个文件的版本提供标签

也许用git可以做到这一点,但我不知道怎么做。那么有没有用于此目的的好的,方便的版本控制系统?

也许我应该补充一点,我使用linux作为os和emacs作为latex-editor。

3 个答案:

答案 0 :(得分:2)

以前的答案完全是FUD:

  • 所有任何当前VCS都可以使用存储库中的完整文件集(将其命名为changeset或revision或...),因此您的需求为3-4不满意 - 分支和标签全球
  • 只有CVS(如果我们不记得古老的VCS)使用单个文件作为管理对象,但我强烈建议不要考虑今天使用CVS

  • 如果您的所有项目都是单个文件???。tex ,您可以使用任何VCS - 您的用例看不出任何差异(似乎是这样< / em>的)
  • 在单个文件更改的情况下对整个仓库进行增量版本化并不是那么糟糕,并且真正让生活变得轻松 - 没有人担心“我必须使用哪个版本的文件B与文件A的版本N”

答案 1 :(得分:1)

RCS仍然可用并且仍能正常工作(我仍然使用它) 用例例如是海报&#39;目录(使用svg,二进制格式不是那么好)每个文件都很大,所以不要把它们放在一个单独的hg或git目录中,这将变得非常庞大。

我以前使用SCCS btw但RCS好多了

答案 2 :(得分:0)

我同意@BasileStarynkevitch - Git就是你所需要的。

你可能只需要一个很好的GUI用于Git,这样你就可以更容易地看到发生了什么。

Git是为程序员设计的,用于处理大量源文件,分布在多个子目录中。 你的用例略有不同,但你仍然可以很好地使用它。

早期版本控制系统(RCS,SCCS)完成了你刚才在你的问题中所描述的内容 - 但它被证明是一团糟,因为任何真正的项目通常不仅仅是一个文件;-)并且很容易忘记如果每个文件都由它自己的版本控制处理,则检入文件。 (不要这样做)

因此,不要考虑“我需要获取文件A的先前版本和文件B的另一个版本”,而是尝试在使用Git时及时制作完整项目的快照。例如您项目的“迷你版”。如果您的项目是LATEX,那么您正在撰写一本书或出版物 - 可能每次完成更新后都会检查您的更改,并将其视为“迷你版本”..

使用Git的图形用户界面将帮助您查看文件,分支,标签等之间的差异。 Git具有将文件的早期版本中的内容合并到当前文件中的功能 - 这对Git来说不是问题。还有用于查看和编辑并排差异的工具。