【问题标题】:How to ignore files from TortoiseSVN without deleting them?如何忽略 TortoiseSVN 中的文件而不删除它们?
【发布时间】:2014-07-23 15:49:47
【问题描述】:

假设有人不小心签入了配置文件,或者如果我的存储库中有构建文件夹,我如何才能从 SVN 中删除/忽略它们,而不会在下次更新时删除所有用户的文件?

假设我更新了根文件夹的属性以忽略文件 config.xml。如果我下次尝试提交更改,它将提交根文件夹的新属性,但也会将 config.xml 标记为已删除。这似乎不正确,因为现在每个人的 config.xml 都将在他们的下一次 svn 更新中被删除,尽管我只想从 SVN 中删除并忽略该文件。 我已经尝试通过仅提交文件夹属性更改而不是“删除操作”来为每个人执行删除操作,但现在我遇到了奇怪的树冲突,总而言之,看起来必须有一种更清洁的方法来做到这一点。

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    您不能忽略 Subversion 存储库中的文件。您只能忽略不存在的文件或目录。

    如果我理解正确,存储库中当前有一个名为 config.xml 的文件。如果您从存储库中删除它,当其他用户执行svn update 时,它将被删除。悲伤,但真实。

    但是,如果发生这种情况,则意味着用户的本地副本与旧版本完全相同。没问题,他们只需将svn catconfig.xml 文件运行到该修订版,他们就会把它拿回来。

    如果他们修改了config.xml 文件怎么办?他们会在更新时收到以下错误:

    Tree conflict on 'config.xml'
        > local file edit, incoming file delete upon update
        Select: (r) mark resolved, (p) postpone, (q) quit resolution, (h) help:
    

    他们应该推迟决议。那么:

    $ svn delete --keep-local config.xml
    

    这将保留他们的本地版本 config.xml 并解决冲突。

    如果他们将冲突标记为已解决,Subversion 将标记config.xml 以添加到存储库中。

    为防止这种情况,您可以使用我的pre-commit hook,如果有人尝试添加此特定文件,您可以将其配置为导致提交失败。

    【讨论】:

      【解决方案2】:

      在提交或“检查修改对话框”中,您可以右键单击要忽略的文件,然后通过 “添加到忽略列表” 选择忽略 “this.file” 或忽略 "*.file"("file" 可能是你的后缀)。 请注意,SVN 将您忽略的文件存储在文件所在目录中的所谓“属性”中。因此目录将显示为已更改。

      【讨论】:

        【解决方案3】:

        使用 TortoiseSVN:右键单击文件,TortoiseSVN ->“取消版本并添加到忽略列表”然后选择文件名/通配符/等。

        Ignore files which are already versioned

        如果你不小心添加了一些应该被忽略的文件,你如何在不丢失它们的情况下让它们脱离版本控制?也许您有自己的 IDE 配置文件,它不是项目的一部分,但是您需要很长时间才能按照自己喜欢的方式进行设置。

        【讨论】:

        • 是的,这也是我发现的,但害怕文件被标记为“已删除”。但这不是“删除”,它实际上删除了其他用户文件系统上的文件,而只是从存储库中删除了该文件并将其标记为已删除。也就是说,现在每次我提交新的更改时,它仍会列出所有删除/忽略的文件,就好像它们已更改(状态仍被删除)一样。这有点烦人。我想我可以将它们全部放在提交时忽略列表中,但理想情况下它们现在只会显示为未版本控制的文件......
        • 实际上它是这样工作的!问题是我的团队中的某个人签入了构建文件,然后我为我的机器编译了项目,覆盖了构建文件,然后当我的文件更新时出现问题,未提交但我仍然试图将它们标记为被忽略.
        【解决方案4】:

        如果像我一样,您以某种方式添加了不打算用于颠覆的文件,您只需制作相关文件的备份副本。 svn 删除“文件”。提交到 repo,然后将备份文件的名称更改为原始文件。至少对少数文件有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-11-30
          • 1970-01-01
          • 1970-01-01
          • 2021-08-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多