忽略目录及其子目录中的所有文件,但保留文件夹结构

时间:2018-07-26 12:23:57

标签: git gitignore

我希望一个文件夹output及其所有子文件夹和内容不被推送到主文件夹,但我希望保留文件夹结构。似乎已经讨论了无数次,但这对我没有用。

我的.gitignore读为:

output/**   # ignore everything in output folder
!output/**/ # exclude subdirectories
!.gitkeep   # exclude .gitkeep files

我的文件夹结构类似

output/
    .gitkeep
    folder1/
        .gitkeep
    folder2/
        .gitkeep

之前,我的.gitignore仅读取output/并忽略了整个文件夹。正如我所说,更改没有用,所以我不小心将所有内容都推送给了主服务器。我又删除了所有内容。这次我更加谨慎并检查了

git ls-files . --ignored --exclude-standard --others
git ls-tree -r master --name-only
git ls-files --others --exclude-standard

列出所有忽略的文件,列出所有跟踪的文件并列出所有未跟踪的文件。第一个命令在output中不包含我的文件,第二个命令也不包含。第三个命令的确在output中列出了我的文件(我进行了检查是因为我知道.gitignore不适用于跟踪的文件)。

所有指向.gitignore中错误指定的规则,不是吗?我究竟做错了什么?谢谢您的帮助。

0 个答案:

没有答案