【问题标题】:How do you include/exclude a certain type of files under Subversion?您如何在 Subversion 下包含/排除某种类型的文件?
【发布时间】:2010-09-12 10:43:24
【问题描述】:

我对包含/排除行话感到困惑,而我实际的 SVN 客户端似乎没有(或者我一直无法轻松找到)添加或删除某种类型文件的简单选项用于版本控制。

例如,假设我添加了整个 Visual Studio 文件夹及其解决方案、项目、调试文件等,但我只想对实际的源文件进行版本控制。最简单的方法是什么?

【问题讨论】:

    标签: svn version-control


    【解决方案1】:

    您可能最安全的是排除特定文件类型,而不是选择要包含的文件类型,因为您可以添加新类型而不会意识到它没有被版本控制。

    您可以按目录编辑svn:ignore 属性。

    运行

    svn propedit svn:ignore .
    

    为每个相关目录打开一个编辑器,其中包含要忽略的模式列表。

    然后在每一行上放置一个与您要忽略的文件类型相对应的模式:

    *.user
    *.exe
    *.dll
    

    你有什么。

    或者,正如建议的那样,您可以将这些模式添加到您的 ~/.subversion/config 文件中的 global-ignores 属性中(或在 Windows 上为 "%APPDATA%\Subversion\config" - 请参阅 Configuration Area Layout in the red bean book for more information)。在这种情况下,用空格分隔模式。这是我的。行首的# 引入了注释。我忽略了 Ankh .Load 文件和所有 *.resharper.user 文件:

    ### Set global-ignores to a set of whitespace-delimited globs
    ### which Subversion will ignore in its 'status' output, and
    ### while importing or adding files and directories.
    # global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
    global-ignores = Ankh.Load *.resharper.user
    

    【讨论】:

    • 要添加到 TortoiseSVN 的全局忽略设置,右键单击您的项目文件夹,TortoiseSVN...设置...常规...在 Subversion 区域中,您可以编辑“全局忽略模式”。
    • 是否可以为每个项目添加忽略?就像在 git 中一样。在 git 中,您将忽略文件放在项目根目录中,并且优先于全局忽略。
    【解决方案2】:

    这可以使用svn:ignore 属性或~/.subversion/config 文件中的 global-ignores 属性来实现。 (滚动到第一个链接的顶部以查看有关编辑属性的说明。)

    通过在目录上使用svn propsetsvn propedit,您将能够使Subversion 忽略特定目录中与该模式匹配的所有文件。但是,如果您在 ~/.subversion/config[miscellany] 部分更改 global-ignores,Subversion 将忽略这些文件,无论它们位于何处。

    【讨论】:

      【解决方案3】:

      见博文svn:ignore

      我知道使用 TortoiseSVN 可以单击已签出的根文件夹,并可以通过选择“属性”菜单项添加任意属性。在这种情况下,您只需指定要排除的文件模式。

      有关命令行内容的博客文章,但我确信它适用于您使用的任何客户端。

      【讨论】:

        【解决方案4】:

        在最低级别,SVN 允许您忽略具有svn:ignore 属性的某些文件或模式。用于 SVN 的 VS 加载项(例如 VisualSVN)将自动代表您忽略这些文件。如果您使用TortoiseSVN,您可以在资源管理器中右键单击文件和文件夹,然后选择添加到忽略列表

        【讨论】:

          【解决方案5】:

          另一种方式,当使用 TortoiseSVN 时,您可以选择“Commit...”,然后右键单击文件并移动到更改列表“ignore-on-commit”。

          【讨论】:

            【解决方案6】:

            使用svn:ignore 属性,您可以使用通配符。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-03-22
              • 2013-08-03
              • 1970-01-01
              • 1970-01-01
              • 2018-09-09
              相关资源
              最近更新 更多