.gitignore,排除文件夹中的所有文件......但保留那些带有 .gitkeep 的子文件夹?

gre*_*emo 3 git gitignore

我想忽略文件log夹中的所有文件,除了.gitkeep文件(我需要这些文件来保持空目录):

- log
  |- foo.log (should be ignored)
  |- folder1 (should be ignored)
  |- folder2 (keep it because contains a .gitkeep file)
     |- .gitkeep
Run Code Online (Sandbox Code Playgroud)

不工作:

/log/*
!/log/*/.gitkeep
Run Code Online (Sandbox Code Playgroud)

使用**也不起作用:

/log/*
!/log/**/.gitkeep
Run Code Online (Sandbox Code Playgroud)

这可能吗......没有手动排除每个子文件夹,像这样?

/log/folder1/*
/log/folder2/*
!/log/folder2/.gitkeep
Run Code Online (Sandbox Code Playgroud)

phd*_*phd 5

忽略忽略的目录*

/log/**
!/log/*/
!/log/*/.gitkeep
Run Code Online (Sandbox Code Playgroud)

没有这个git甚至不会查看被忽略的子目录。