这是我的文件夹结构:
data/
.gitignore
uploads/
.gitignore
我想提交文件夹,但不提交其中的文件。
所以我在每个文件夹中添加一个.gitignore文件,其中包含以下内容:
# Ignore everything in this directory
*
# Except this file
!.gitignore
问题是*
也匹配目录,所以git仅跟踪data/.gitignore
答案 0 :(得分:54)
请不要滥用 .gitignore
文件。最好坚持使用默认方式,以便以后开发人员可以快速进入您的项目。
.gitkeep
文件
从主 .gitkeep
文件中排除文件夹,但不包括.gitignore
。
folder/*
!folder/.gitkeep
这会忽略文件夹中的所有文件,但不会忽略.gitkeep
文件。现在,该文件夹将仅作为内容提交.gitkeep
文件。
答案 1 :(得分:34)
解决方案非常简单,将!*/
添加到.gitignore文件中,只会忽略当前文件夹中的文件
# Ignore everything in this directory
*
# Except this file
!.gitignore
# Except folders
!*/
答案 2 :(得分:-3)
试试这个:
*.*
!.gitignore
!*/*