【问题标题】:How to remove file from Subversion (make it 'unversioned')?如何从 Subversion 中删除文件(使其“未版本化”)?
【发布时间】:2010-07-29 20:33:39
【问题描述】:

我一直有这个问题,我还没有真正找到答案。

假设您设置了您的合作伙伴设置了一个新项目并导入了该项目的每个文件,包括与环境配置相关的那些在开发期间不应受源代码控制的文件(即数据库配置文件)。

然后我第一次签出项目,显然我必须更改数据库配置文件才能使其工作。但是随后该文件被标记为已更改并将显示在提交列表下,那么此时有没有办法“取消版本化”?

我尝试了“删除并添加到忽略列表”,但这只会标记要删除的文件,一旦我提交,我的伙伴会更新项目并发现他的数据库配置文件已被删除。

那么处理这些环境相关文件的真正方法是什么? (假设您已经将它们添加到存储库中)。您只是在本地更改文件并在每次提交时都取消选中它?

谢谢,如果这是一个愚蠢的问题,对不起。

【问题讨论】:

  • 我刚刚在本地更改了文件,并在每次提交时都取消选中它。

标签: svn tortoisesvn project svnignore


【解决方案1】:

我认为许多应用程序都有一个db.conf.sample,他们将其放入版本控制中,然后人们将其重命名为db.conf,这在版本控制中被忽略了。

【讨论】:

  • +1,这是在几乎所有情况下最有意义的解决方案。
  • 这是一个 Rails 应用程序,有 database.yml,这是我们要忽略的文件,没有 .sample 或类似的文件。
  • 当然,这个解决方案很好,如果在导入项目之前将 database.yml 重命名为 database.yml.sample,但事实并非如此。无论如何,我会给你 +1,因为这听起来是未来项目的一个很好的解决方法。
  • @emzero - 在这种情况下,您应该将文件复制到某个位置,然后从 SVN 存储库中删除原始文件。让所有人更新,然后将文件复制回来并忽略它。
【解决方案2】:

告诉您的伙伴备份文件,然后使用上下文菜单中的删除选项。然后它也会在您的副本中被删除,并且不再进行版本控制。

【讨论】:

  • 是的,我可以这样做,但我正在寻找一个不太麻烦的解决方案。
  • 听起来你需要谈谈如何导入文件,以及要导入哪些文件。您永远不应该对容易生成或不会更改的文件进行版本控制。只需在提交之前删除(svn rm)它们。你能详细解释一下这个问题吗?听起来你们中的一个人只是对不需要放入 VCS 的文件进行版本控制。
【解决方案3】:

背后很痛苦,但总是有this。直到最近我才使用 subversion,所以我希望有更好的解决方案。不过,它确实给了我你想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-19
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    相关资源
    最近更新 更多