2011-02-12 82 views
8

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

我要排除的文件的config.php:

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

所以,我用:

$ svn propedit svn:ignore . 

而且config.php文件添加到列表中。

然後,如果我做另外一個SVN日,我得到相同的第一次:

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

也不會轉回去的config.php文件剛纔被排除在外?

在此先感謝!

回答

16

的svn:忽略只會影響還沒有被添加的文件。所以你的情況

你必須從存儲庫svn del刪除的文件 - 不要忘記暫時將它們複製到其他位置)。將文件複製回原始目錄後,svn不會將它們標記爲新的(並嘗試添加它們)。

編輯: 另外,由@Blake評論,你可以當你做一個svn del,而不是將文件複製到另一個位置的使用--keep-local選項。

+18

您不必將您的本地文件複製到臨時目錄中。當您執行svn del時,只需使用--keep-local選項 – Blake 2012-12-03 04:18:27

1

這是我遇到的問題和解決方案,希望這將是有用的人。

比方說,你在目錄中有 'd' A,B,C「文件。

您svn從您的工作副本中刪除'a,b,c'文件,並將'svn:ignore *'屬性/值添加到'D'目錄並提交這些更改作爲修訂1234。你在你的工作副本中將相同的'a,b,c'文件放回到'D'目錄中,那麼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忽略。

相關問題