2013-10-02 91 views
0

我已經加入到我的.gitignore文件:混帳忽略相同的文件中的所有目錄

dwsync.xml 

然而,這並不能在其他目錄忽略其他dwsync.xml文件,它只是忽略的根目錄。我該如何解決這個問題?

+1

它應該忽略其他目錄中的文件。你是什​​麼意思,它不被忽視?你使用的是什麼文件系統?什麼OS? – FelipeC

+0

我在Windows上使用SourceTree。當對其他文件夾中的「dwsync.xml」進行更改時,更改會顯示在「未提交的更改」中。 –

+0

也許你在其他文件夾中的'dwsync.xml'文件使用不同的大小寫,如'DWSYNC.XML'?我不確定git在這種情況下會如何表現。我已經看到在Windows上使用git有關文件名不區分大小寫的問題。 – pbetkier

回答

0

如果您的子目錄中有.gitignore文件,遞歸傳播將無法在該目錄上工作。您必須顯式添加文件名/掩碼或從子目錄中刪除.gitignore。

+3

這是錯誤的。在子目錄中存在'.gitignore'並不會阻止來自存儲庫樹中較高的'.gitignore'的模式被匹配。 –

+0

@CharlesBailey,是的,你是對的。似乎我錯過了一些東西。 –

4

你說:

進行更改時在其他文件夾dwsync.xml做出的改變上來就「未提交的更改」。

這表示dwsync.xml文件實際上是您的存儲庫的一部分。在這種情況下,.gitignore不起作用。 .gitignore中僅提及的文件適用於存儲庫中的而不是的文件,並且您不希望顯示爲「未跟蹤文件」。

+2

確實。如果您添加將'.gitignore'忽略已在源代碼管理下的任何文件不會影響這些文件,則可以使您的答案更易於理解。 'git rm --cached filename'應該可以解決這個問題。 – Dan