.gitignore如何忽略文件夹中的内容?

85

可能重复:
如何在Windows上忽略Git仓库中的目录

我的网络应用程序有以下目录结构:

myapp/
    .gitignore
    .git/
        ...

    static/
            mytest.txt
            fgs.ico
    ledgerware/
        static/
            mytest.txt
            fgs.ico
        ...
我想编辑现有的myapp/.gitignore文件,以便在进行git push时忽略myapp/ledgerware/static文件夹中的所有文件,但不忽略myapp/static文件夹。有人可以帮我吗?

请参考这个答案git文档 - m.brindley
这不是上面列出的重复内容。链接答案中的回答不适用于这种特殊情况。 - Brian Knoblauch
1个回答

102

只需使.gitignore中的行越具体越好:

ledgerware/static/*

16
如果OP需要忽略文件夹本身,那么该行末尾的*可以去掉。此外,OP还可以在ledgerware/中放置一个本地的.gitignore文件,忽略static/* - m.brindley
13
如果一个文件夹内的所有内容都被忽略了,那么这个文件夹就是空的。空文件夹会被 Git 自动忽略吗? - Michael J. Calkins
5
@MichaelJ.Calkins 是的,但是你说的是一个蛋在这里生出了另一个蛋。在 git 中,首先必须忽略文件夹的内容,才能使其被视为为空。在运行项目时,该文件夹可能不为空,可能是用来保存环境特定文件、工作文件或输出的文件夹,因此我们不想提交输出,只想提交文件夹。 - pythonian29033
无法工作。尽管目录中有内容,但它根本没有被添加,而是完全被忽略了(所有内容都被忽略)。 - Brian Knoblauch
@m.brindley:不是这样的。我必须在文件夹后面添加*,才能排除文件夹内容,但文件夹(和一个名为.gitkeep的文件)被包括在内。Git版本为2.34.1.windows.1。 - theking2

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