我正在尝试让git忽略我的一些文件而且我找到了一个关于如何做到这一点的描述
来自:http://github.com/guides/git-cheat-sheet 忽略一些文件
在根目录中添加文件 叫.gitignore并添加一些文件 它:(评论以哈希开头) * .log db / schema.rb db / schema.sql
Git会自动忽略空 目录。如果你想拥有一个 log /目录,但想要忽略所有 其中的文件,添加以下内容 到根.gitignore的行:(行 以'!'开头是例外情况)
log / *!.gitignore
然后在。中添加一个空的.gitignore 空目录:
触摸日志/ .gitignore
所以我在我的项目文件夹中创建了一个名为.gitignore的文件,并在其中写了以下内容:
phpMyAdmin/*
nbproject/*
inc/mysql_config.php
!.gitignore
但是当我提交时,文件会从提交中排除......
答案 0 :(得分:32)
我创建了一个Web实用程序,可以帮助您为项目生成有用的.gitignore文件。它将帮助您忽略操作系统,编程语言和IDE生成的文件。
答案 1 :(得分: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
<强>更新强>
此外,.gitignore
需要位于基本目录或至少高于这些目录的位置。另外,从目录中取出“*”:
phpMyAdmin/
nbproject/
inc/mysql_config.php
!.gitignore
请注意phpMyAdmin/
vs /phpMyAdmin
vs phpMyAdmin
。也来自man gitignore:
如果图案以斜线结尾,则会将其删除 以下描述,但它只会找到与目录的匹配。 换句话说,
foo/
将匹配目录foo
和下面的路径 它,但不匹配常规文件或符号链接foo
(这是 与路径规范在git中的工作方式一致。如果模式不包含斜杠
/
,git会将其视为shell glob模式并检查与路径名匹配而没有前导目录。否则,git将模式视为适合消费的shell glob
fnmatch(3)
带有FNM_PATHNAME
标志:模式中的通配符 与路径名中的/
不匹配。例如,Documentation/*.html
匹配Documentation/git.html
但不匹配Documentation/ppc/ppc.html
。一个 前导斜杠匹配路径名的开头;例如,/*.c
匹配cat-file.c
但不匹配mozilla-sha1/sha1.c
。