如何忽略所有文件,但不忽略子文件夹

3

我不想推送任何文件,只想将所有文件夹推送到git。

我在我的.gitignore文件中尝试了以下内容,但它没有起作用:

# Ignore everything in this directory
/*
# Except for directories
!/*/

我的文件夹结构如下:

/project/uploads
                 -->thumbnails
                 -->original
                 -->croped

我需要所有子文件夹都被移动,但不包括“uploads”文件夹中的文件或其他子文件夹中的文件。

愚蠢的解决方法:如果所有文件都有扩展名,那么只需忽略 /*.* 即可。 - rubenvb
2个回答

3

Git只跟踪文件。如果您忽略了所有文件,git就没有要跟踪的内容。一个可能的解决方案是在每个目录中添加.gitignore。您可以创建所有子文件夹,并在每个子文件夹中添加.gitignore

*
!.gitignore

这样就会忽略所有文件,但是新目录中的gitignore文件不会被忽略。

2
你已经快成功了:
/*
!*/

只有一个/太多了。 使用此选项,您可以忽略所有文件,但不包括(非空)目录。


1
我已经放置了一个内容为/* !*/的.gitignore文件,但是它没有起作用。它还会添加子文件夹中的文件。 - Amjith
1
哦,你想不仅忽略所有不在子文件夹中的文件,而且忽略所有文件,并将文件夹添加为如果它们是空的?据我所知,在git中这是不可能的,因为默认情况下完全忽略空文件夹。 - user3363866

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接