2016-11-16 148 views
0

我尝试了我在这里找到的每个可能的解决方案,但都没有工作。这是我的.gitignore文件:.gitignore不会忽略子目录.DS_Store文件

*.pyc 
.DS_Store 
static/.DS_Store 

它忽略.DS_Store文件在我的回购的根目录,但在像静态命名的目录中的子目录不一样。我甚至尝试添加follwoing在.gitidnore文件,但他们也不起作用:

*/.DS_Store 
**/.DS_Store 
*DS_Store 
+3

如果'static/.DS_Store'中的文件已经是存储库的一部分_before_,那么您将此规则添加到'.gitignore'? –

+0

是的,静态目录中的所有文件都是回购的一部分。在添加** .gitignore **文件之前,我还在我的回购库中做了一些提交。 – Utkarsh

+0

* .DS_Store应该解决问题 –

回答

3

您需要之前删除的文件中static/.DS_Store你必须.gitignore才能生效的规则。从Git的bash中运行以下命令:

git rm -r --cached static/.DS_Store 

这将从回购删除这些文件,同时保留他们在您的本地文件系统,这是你想要的东西上。运行此命令后,您应该能够通过运行git status来查看删除更改。

+0

现在尝试。不工作! :( – Utkarsh

+0

'Not working' ...这是一个非常有用的评论,运行'git rm'后'git status'告诉你什么? –

+0

是的!它删除了静态/ .DS_Sore文件。 – Utkarsh