代码之家  ›  专栏  ›  技术社区  ›  Victor Bjelkholm

使git忽略文件

git
  •  19
  • Victor Bjelkholm  · 技术社区  · 15 年前

    发件人: http://github.com/guides/git-cheat-sheet

    在根目录中添加文件 调用.git忽略并添加一些文件 致:(注释以哈希开头)

    Git自动忽略空 日志/目录,但要忽略所有 在文件中,添加以下内容 到根的行。gitignore:(行) 从开始!是例外)

    然后在 空目录:

    触摸log/.gitignore

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

    phpMyAdmin/*
    nbproject/*
    inc/mysql_config.php
    !.gitignore
    

    但是当我提交的时候,文件并没有被排除在提交之外。。。

    2 回复  |  直到 12 年前
        1
  •  29
  •   Greg Bacon    15 年前

    根据 man gitignore :

    A gitignore file指定git应该忽略的故意未跟踪的文件。注意 文件实际上只涉及尚未存在的文件 git跟踪;为了忽略已跟踪文件中未提交的更改, git update-index --assume-unchanged 文档。

    .tmp 文件并添加整个目录,而不用担心会添加 文件夹。

    我相信您可以通过以下方法将它们从索引中删除:

    git rm --cached file_to_stop_tracking_but_dont_want_to_delete.txt
    

    此外,还有 .gitignore 必须位于基本目录或至少在这些目录所在的位置之上。另外,从目录中删除“*”:

    phpMyAdmin/
    nbproject/
    inc/mysql_config.php
    !.gitignore
    

    小心点 phpMyAdmin/ /phpMyAdmin phpMyAdmin . 同样来自 :

    • 如果图案以斜线结尾,则会将其删除,以便 但它只能找到与目录匹配的。 换句话说, foo/ 将匹配目录 foo 但它与常规文件或符号链接不匹配

    • 如果图案不包含斜杠 / ,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

        2
  •  32
  •   Joe    8 年前

    https://www.gitignore.io/

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