这是我的文件夹结构:
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
文件。将文件夹排除在您的 主要 .gitignore
文件之外,但不要将 .gitkeep
文件排除在外。
folder/*
!folder/.gitkeep
这将忽略文件夹中的所有文件,但不包括.gitkeep
文件。现在该文件夹将只提交.gitkeep
文件作为内容。
这将忽略文件夹中的所有文件,但不包括.gitkeep
文件。现在该文件夹将只提交.gitkeep
文件作为内容。
!*/
即可忽略当前文件夹中的文件。# Ignore everything in this directory
*
# Except this file
!.gitignore
# Except folders
!*/
试试这个:
*.*
!.gitignore
!*/*
.gitignore
文件告诉后续的开发者“他/她需要查看该文件”才能发现被忽略的内容。此外,.gitignore
文件不能设置到除主目录以外的任何目录中。如果这样做,每个人都必须浏览所有子文件夹,以查看是否有被忽略的内容(并发现没有被忽略的内容),以确定实际上会出现在存储库或部署流程中。不要因为懒惰或不遵循惯例而为后来的开发者增加不必要的复杂性。 - kaiser