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