Version control 能够为每个用户设置文件版本的VCS

Version control 能够为每个用户设置文件版本的VCS,version-control,Version Control,我已经使用了一些风险投资工具,如CVS、SVN和Git。我缺少的一个功能在任何地方都找不到 我希望存储库中有一些文件,但每个用户都应该有自己的文件。因此,当您签出时,您会得到该文件的默认值,并且只为您自己提交更改 我为什么要这个?有些文件如配置,我希望在存储库中有一个默认版本(例如,用于构建版本或新团队成员的起始库),但对该文件的更改仅与某个开发人员(或工作副本)相关,因为它将包含仅对该开发人员/工作副本有效的路径 当前我不添加此文件时: -在创建新的工作副本或导出发布版本时,我会想念它们 -没

我已经使用了一些风险投资工具,如CVS、SVN和Git。我缺少的一个功能在任何地方都找不到

我希望存储库中有一些文件,但每个用户都应该有自己的文件。因此,当您签出时,您会得到该文件的默认值,并且只为您自己提交更改

我为什么要这个?有些文件如配置,我希望在存储库中有一个默认版本(例如,用于构建版本或新团队成员的起始库),但对该文件的更改仅与某个开发人员(或工作副本)相关,因为它将包含仅对该开发人员/工作副本有效的路径

当前我不添加此文件时: -在创建新的工作副本或导出发布版本时,我会想念它们 -没有我可能为自己的实验做过的改变的历史

当前,当我将此文件添加到存储库时: -我可能永远不会提交它们,所以我在存储库中有一个默认值,但我的文件总是标记为“已更改”。在SVN中,我可以将其添加到“提交时忽略”变更列表中,以进行一些改进。 -我可能会丢失自己对一个困难的配置文件所做的更改(数据崩溃、笔记本电脑被盗等)


有没有能够做到这一点的风投?SNV或git是否支持我可能已经监督过的相关内容?

我不认为风险投资是问题所在。看起来,如果您有一个内容依赖于本地环境的文件,您应该使用脚本自动生成它。这样,您就可以忽略生成的文件,但是在脚本版本中,每个开发人员在运行时仍然可以获得配置文件的完全有效的副本。例如,这与用户特定的IDE设置使用的方法相同。例如,Visual Studio上的suo文件

更新:

如果您特别需要一组默认值,那么解决方案如下:

  • 将默认值添加到存储库中
  • 每个开发人员都在自己的分支中工作。这样,他们就可以修改版本 对配置文件的更改
  • 当重新基于主控和/或合并时,开发人员根本就不会 合并他们的自定义配置
  • 您始终可以设置一个钩子来检查默认配置是否已修改,如果已修改,可以向开发人员发送电子邮件。您只需查看此类提交,就像查看未编译的提交一样 开发人员很聪明。当然,他们会犯错。但千万不要低估一些简单交流的力量


    当然,当默认配置被devx的定制配置覆盖时,您可以使用git的强大功能立即修复该提交

    如果我正确理解并分解了您的任务

    有一组某物的默认模板,这些模板是每个用户自定义的起点,这些自定义版本必须单独存储,并且只能由负责人访问

    您可以使用此工作流(草稿、修改和更正的主题),基于Subversion以实现简单和透明的管理(任何CVC的优点)

    • Subversion存储库
    • repo的每个用户在存储库树中都有自己的预定义路径(具有通用路径模式,便于管理和流程自动化)
    • 还存在一个特殊的仅由管理员管理的路径,普通用户无法访问
    我们的树可能是这样的(其中Repository dir是Repository的根)

    • 对于每个用户路径,我们都使用基于路径的身份验证,它只为每个用户提供对存储库中子树的访问
    • 模板包含(顾名思义)所有用户文档的模板存根
    • 向回购协议添加新用户显然是一项简单易行的自动化任务:
      • svn将
        模板复制到新用户目录中
      • 为用户在authz文件中创建的位置添加rw权限
      • 在repo中告诉用户其个人树的URL

    SVN-每个用户的分支+原始分支。萨皮恩蒂坐着!这意味着要与主干进行大量同步,并需要手动解决更多冲突。否。根本没有合并(除非“模板”在周期的中间改变了)。第二次尝试…@Lazybacker:请尝试在回答中解释…这是一个很好的路径方法,但不是其他配置设置,这些设置更多地取决于您当前修改的应用程序的哪个部分。从您的问题中,“…因为它将包含仅对该开发人员/工作副本有效的路径。”您只提到了路径。如果您可以更新这个问题来进一步解释(例如,您使用什么方法来确定当前正在修改的应用程序部分),那么我可以微调我的答案。配置包含到不同资源的路径,每个开发人员机器上的资源可能不同。此外,还有一个数据库配置,它可能会导致开发人员选择具有不同主数据的数据库,以及一些应用程序工作流设置。因此,您签出存储库并仅获取您具有r/w访问权限的用户文件夹?
    z:\>dir /s /B
    z:\Repository
    z:\Repository\Users
    z:\Repository\Template
    z:\Repository\Users\Alpha
    z:\Repository\Users\Bravo