让git忽略文件

Vic*_*olm 20 git

我试图让git忽略我的一些文件,我找到了一个关于你如何做到这一点的描述

从:http://github.com/guides/git-cheat-sheet 到IGNORE的一些文件

在名为.gitignore的根目录中添加一个文件并向其中添加一些文件:(注释以哈希开头)*.log db/schema.rb db/schema.sql

Git自动忽略空目录.如果您想拥有一个日志/目录,但想要忽略其中的所有文件,请将以下行添加到根.gitignore :(以'!'开头的行是例外)

log/*!.gitignore

然后在空目录中添加一个空的.gitignore:

触摸日志/ .gitignore

所以我在我的项目文件夹中创建了一个名为.gitignore的文件,并在其中写了以下内容:

phpMyAdmin/*
nbproject/*
inc/mysql_config.php
!.gitignore
Run Code Online (Sandbox Code Playgroud)

但是当我提交时,文件会从提交中排除...

Joe*_*Joe 32

https://www.gitignore.io/

我创建了一个Web实用程序,可以帮助您为项目生成有用的.gitignore文件.它将帮助您忽略操作系统,编程语言和IDE生成的文件.

  • 这真的很好,很有用! (2认同)

eru*_*orm 29

吉蒂格雷说:

描述

一个gitignore文件指定的git应该忽略故意未跟踪文件.请注意,所有gitignore文件实际上只涉及git尚未跟踪的文件; 为了忽略已经跟踪的文件中未提交的更改,请参阅git update-index --assume-unchanged文档.

所以如果你已经添加它们就无济于事.它主要是为了防止首先添加.这样,您可以忽略.tmp文件并添加整个目录,而无需担心您将添加.tmp文件.

我相信你可以从索引中删除它们:

git rm --cached file_to_stop_tracking_but_dont_want_to_delete.txt
Run Code Online (Sandbox Code Playgroud)

更新:

此外,.gitignore需要位于基本目录或至少高于这些目录的位置.另外,从目录中取出"*":

phpMyAdmin/
nbproject/
inc/mysql_config.php
!.gitignore
Run Code Online (Sandbox Code Playgroud)

而且要注意的phpMyAdmin/VS /phpMyAdminVS phpMyAdmin.也来自男人gitignore:

  • 如果模式以斜杠结尾,则为了以下描述的目的将其删除,但它只会找到与目录的匹配项.换句话说,foo/将匹配foo它下面的目录和路径,但不匹配常规文件或符号链接foo(这与在git中一般使用pathspec的方式一致).

  • 如果模式不包含斜杠/,git会将其视为shell glob模式,并在没有前导目录的情况下检查路径名的匹配.

  • 否则,git将模式视为适合使用的shell glob,fnmatch(3)并带有FNM_PATHNAME标志:模式中的通配符/与路径名中的a不匹配.例如,Documentation/*.html 匹配Documentation/git.html但不匹配Documentation/ppc/ppc.html.前导斜杠与路径名的开头匹配; 例如,/*.c 匹配cat-file.c但不匹配mozilla-sha1/sha1.c.