为什么gitignore忽略我所有的文件,尽管只写一个文件被忽略?

  • 本文关键字:文件 一个 gitignore git gitignore
  • 更新时间 :
  • 英文 :


我在项目文件夹的根目录下创建了一个gitignore,如下所示:

*
!src/
!.gitignore

在我的src文件夹中,我有2个文件和一个文件,我想保留在本地文件夹中,但从存储库中排除(总共3个文件)。所以我在src文件夹中创建了另一个gitignore文件,如下所示:

file.txt
命令行:
git add .
git commit -m "message"
git push

当我去到我的repo时,它确实排除了除了src文件夹和gitignore文件之外的所有文件,但是在repo的src文件夹中,我只发现了gitignore文件而没有其他文件。

您的顶级.gitignore文件有以下规则:

*

匹配所有文件夹中的所有文件在所有时间。因此,除非另有指定,否则任何地方的任何文件都将被忽略。

要解决这个问题,可以使用"anchor"概念:告诉Git顶层的*应该只应用于顶层的,即:

/*

现在只有顶级文件被忽略(并且任何文件夹也不会被搜索,除非被覆盖,例如,通过您的!src/行)。

(注意:

!.gitignore

顶层文件中的规则意味着所有.gitignore文件都不会被忽略,除非被更本地的规则覆盖,但这可能就是您想要的。不过,如果您愿意,也可以锚定该规则。)

相关内容

最新更新