簡體   English   中英

如何svn忽略已添加到存儲庫的文件?

[英]How to svn ignore a file already added to the repository?

如何忽略已添加到svn存儲庫的文件?

我想排除文件config.php:

$ svn st
M      .
M       config.php
M       adminfunctions.php

所以,我使用:

$ svn propedit svn:ignore .

並將config.php添加到列表中。

然后,如果我做另一個svn st,我第一次得到相同的結果:

$ svn st
    M      .
    M       config.php
    M       adminfunctions.php

請問config.php不會被排除在外嗎?

提前致謝!

svn:ignore僅影響尚未添加的文件。

因此,在您的情況下,您必須使用svn del從存儲庫中刪除文件 - 不要忘記將它們臨時復制到另一個位置)。 將文件復制回原始目錄后,svn不會將它們標記為新的(並嘗試添加它們)。

編輯:或者,正如@Blake評論的那樣,當你執行svn del而不是將文件復制到另一個位置時,可以使用--keep-local選項。

這是我遇到的問題以及希望它對某人有用的解決方案。

假設你在'D'目錄中有'a,b,c'文件。

你從你的工作副本中刪除'a,b,c'文件並將'svn:ignore *'屬性/值添加到'D'目錄並將這些更改提交為修訂版1234.之后如果你放回了在工作副本上的此目錄“D”中的“a,b,c”文件相同,然后svn仍將“a,b,c”文件視為未版本。

解決這個問題:

  • 在某處保留“a,b,c”文件的備份,並刪除工作副本的“D”目錄中的文件。
  • 更新到目錄“D”上1234之前的版本。 這會將“a,b,c”文件從存儲庫中拉回到工作副本中。
  • 然后更新目錄“D”上的HEAD修訂版。
  • 這將從工作副本上的目錄“D”中刪除“a,b,c”。
  • 最后將'a,b,c'文件放回工作副本的目錄'D'中。

現在,'a,b,c'被svn視為忽略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM