Svn 适用于每日文件的良好版本控制系统

Svn 适用于每日文件的良好版本控制系统,svn,version-control,Svn,Version Control,我想开始将所有非代码个人文件(即word文档、excel电子表格、除媒体以外的所有文件)置于版本控制之下。我想这样做的主要原因是,在将文件签入存储库之前,我可以扫描更改并进行一些控制。TortoiseSVN非常适合这样做,但是我不愿意用所有的内部svn文件夹污染我的文件系统。是否有人这样做,并对如何将这些专用svn文件夹本地化到一个位置或使用其他系统有任何建议?SourceGear Vault看起来很棒,因为它在后端使用SQL Server,但没有文件资源管理器前端 谢谢你的建议。我在unix机

我想开始将所有非代码个人文件(即word文档、excel电子表格、除媒体以外的所有文件)置于版本控制之下。我想这样做的主要原因是,在将文件签入存储库之前,我可以扫描更改并进行一些控制。TortoiseSVN非常适合这样做,但是我不愿意用所有的内部svn文件夹污染我的文件系统。是否有人这样做,并对如何将这些专用svn文件夹本地化到一个位置或使用其他系统有任何建议?SourceGear Vault看起来很棒,因为它在后端使用SQL Server,但没有文件资源管理器前端


谢谢你的建议。

我在unix机器上用subversion做了一段时间——将我的主目录的一堆内容置于版本控制之下。当然,在unix上,.svn/是不可见的

如果你想尝试一下,就用.svn/目录污染你的东西吧。如果你认为这是一个坏主意,你总是可以很容易地用核武器把它们全部炸掉。我打赌如果你尝试一下,你会训练自己在不知不觉中忽略.svn目录


另一个选择是使用一些在线服务,如。您可以免费获得高达2GB的备份和版本控制(以及与他人共享内容)。当然,你会填满这2个演出,最终不得不花钱——但如果你没有玩过,那就值得一看。版本跟踪(通过web界面)和共享/同步实际上相当酷。我使用它来管理与远程同事共享的项目文档。

大多数源代码管理系统不能很好地处理二进制文件。此外,他们的工作流程(IMHO)对于一般办公室类型的工作也不太有效。相反,研究不同的解决方案可能是值得的。其思想是,它们在不同的时间段为您的磁盘制作“原子快照”,并可以在不同的时间保持它们。它可能每小时拍摄一次快照,但只保留最后5个小时快照、最后4个每日快照、2个每周快照和一些每月快照。这似乎与使用通用文档和应用程序的人更好地匹配工作流。

< P>如果您选择此解决方案,请考虑:

1/您可以随时访问您的存储库,以获得没有任何.svn的树

2/如果您使用外部比较工具(如)扫描您的树,您可以教它完全忽略.svn目录

所以你可以:

  • 在你的“
    .svn
    -free”树上工作
  • 使用WinMerge检查任何演变,并将文件的新版本复制到“.svn-filled”树(您的svn工作区)
  • 通过陆龟登记

    • 你看到了吗?它在Subversion之上提供了一个抽象层,并将所有Subversion元数据存储在本地磁盘的中心位置,因此每个目录中不再有
      .svn
      文件。将更改提交回本地
      svk
      存储库,然后将更改镜像回主Subversion存储库。您可以选择合并提交(例如,在本地进行大量小型提交,但只返回一次Subversion)或立即镜像。这还意味着,当您在移动中且未连接到主存储库时,您可以访问元数据,因此您可以搜索以前的修订版等。

      我将Git用于我的代码和个人文件,发现它工作得非常好。安装起来需要一些工作,我使用cygwin,但我听说更容易。没有凌乱的.svn文件夹,快速的主题分支用于简单合并的实验,我使用它将备份推送到everynight。

      试一试并尝试忽略svn目录可能是一个合理的选择。svn目录是隐藏的,但不是看不见的-它们仍然被许多命令拾取。我觉得最烦人的是当你尝试在cd上做一个自动完成的时候——总有那个额外的目录可供选择!另一个问题是在对源代码树进行灰显时必须显式避免.svn文件。@ire_和_诅咒-后者让我非常恼火!投票关闭,属于超级用户只是看看它,有趣的功能,看起来很复杂很诚实git在windows上运行吗?这容易学吗?我在windows上使用Git已经有18个月了,使用cygwin,我发现它很好用。Git并不难理解,尽管过程有点不同,但每种不同都提供了一种优势。