.gitignore - 忽略除一个文件之外的目录中的所有内容

时间:2016-03-24 15:09:49

标签: gitignore

我知道有很多这样的问题,但没有人解决我的问题。我想要一些非常简单的东西 - 忽略特定文件夹下的所有文件和文件夹,除了一个文这是我尝试的:

    string deletePowerPlant = String.Format("DELETE FROM [dbo].[tblSPpowerPlants] WHERE [timestamp] = CONVERT(datetime,'"+ DateUS +"',111) AND [note] = '{0}';", note);
    SqlCommand sqlDelete = new SqlCommand(deleteComponents, sqlConnection);
    sqlDeletePowerPlant.CommandType = CommandType.Text;
    sqlDeletePowerPlant.CommandText = deleteComponents;
    sqlDeletePowerPlant.ExecuteNonQuery();

...但文件仍被忽略。

有什么建议吗?

3 个答案:

答案 0 :(得分:12)

似乎!仅在文件位于同一文件夹中时才有效。一种可能的解决方法是嵌套相同的语句,直到到达最终文件。有点乱,但它的工作原理。

public/typings/*
!public/typings/browser
public/typings/browser/*
!public/typings/browser/ambient
public/typings/browser/ambient/*
!public/typings/browser/ambient/jquery
public/typings/browser/ambient/jquery/*
!public/typings/browser/ambient/jquery/jquery.d.ts

答案 1 :(得分:3)

如果文件是在之前的提交中添加的,那么在将其放入git ignore之前,您的.gitignore可能无法正常工作。前几天我遇到了同样的问题。由于这篇文章,我解决了这个问题:

Post int randallkent

我希望这有助于你

编辑:

解决方案在此处找到:gitignore directory exception not working

答案 2 :(得分:0)

我在这个问题上一直很努力,让我分享一个对我有用的程序:

1)将顶级文件夹“ abc /”添加到您的.gitignore中 2)假设在“ abc /”中您还拥有“ def /”和“ jkl /”文件夹。如果要保留“ jkl /”的内容,可以执行以下操作:

git add -f jkl/*.php

好!现在,即使在下一次提交时,git扩展名“ jkl /”中带有.php扩展名的所有内容也将被git跟踪!

我发现这是适合我的情况的正确解决方案,因为我真的很疯狂,试图了解gitignore如何扫描文件和目录。