我希望一个文件夹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
中错误指定的规则,不是吗?我究竟做错了什么?谢谢您的帮助。