如何仅从Git的根文件夹中排除文件

我知道使用.gitignore文件排除一些正在添加的文件,但我有几个config.php文件在源码树中,我需要排除只有一个,位于根,而其他保持在版本控制。

我应该写入.gitignore才能做到这一点?

从文档 :

如果模式不包含斜杠/,git会将其视为shell glob模式,并检查与相对于.gitignore文件位置的path名的匹配(相对于工作树的顶层,如果不是.gitignore文件)。

前导斜杠匹配path名的开头。 例如,“/*.c”与“cat-file.c”匹配,但不匹配“mozilla-sha1 / sha1.c”。

所以你应该添加下面一行到你的根.gitignore

 /config.php 

使用/config.php

老版本的git要求你先定义一个忽略模式,并立即(在下一行)定义排除。 [在版本1.9.3(Apple Git-50)上testing]

 /config.php !/*/config.php 

以后的版本只需要以下[在版本2.2.1上testing]

 /config.php 

如果上述解决scheme不适合您,请尝试以下操作:

 #1.1 Do NOT ignore file pattern in any subdirectory !*/config.php #1.2 ...only ignore it in the current directory /config.php ########################## # 2.1 Ignore file pattern everywhere config.php # 2.2 ...but NOT in the current directory !/config.php