美文网首页iOS开发常见问题
.gitignore文件不起作用

.gitignore文件不起作用

作者: willheng | 来源:发表于2015-07-29 15:03 被阅读13200次

    原文地址传送门:http://t.hengwei.me/post/gitignore%E6%96%87%E4%BB%B6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.html

    当我们用git时常常会习惯把我们不想上传到远程代码库中的一些本地文件(夹)放在一个叫做.gitignore的文件中,例如常见的本地build文件夹,一些IDE如Intellig,Eclipse的项目管理文件,但有些时候我们会遇到这样的问题:放入gitignore文件夹中的文件却还是被git index, 当你通过git status
    显示文件状态时,他们并没有被忽略。
    问题场景
    当你在git库中编写某些代码文件,并已经stage该文件之后,你发现某个文件你不想用了,想在以后的改变中忽略它。然后你再你的.gitignore文件中加入该文件名,结果它并没有被忽略。
    当你从远程代码库中git clone
    一份代码中本地并做些修改,build,然后
    通过git add .**等stage了这些改变,当你通过git status
    查看状态时发现不小心把build/文件夹给add进来了。于是你在.gitignore文件中加入了build/,但发现并不起作用。

    根本原因

    **.gitignore文件只是ignore没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除。下面这段话来自github: .gitignore文件不工作 因此,要想用gitignore忽略文件,必须先把它们从staged中移除:

    commit你已有的改变,保存当前的工作。
    git rm --cached file/path/to/be/ignored。
    git add .
    git commit -m "fixed untracked files"

    引用
    ****[1].** gitignore-not-working[2]. ignoring file

    相关文章

      网友评论

      • _上邪_:遇到这个问题了,想让github忽略 /target/目录下的文件
        我照着你说的操作了一遍
        内容如下:
        ```
        D:\project\zzgutils [master ≡ +0 ~41 -0 !]> git rm --cached
        usage: git rm [<options>] [--] <file>...

        -n, --dry-run dry run
        -q, --quiet do not list removed files
        --cached only remove from the index
        -f, --force override the up-to-date check
        -r allow recursive removal
        --ignore-unmatch exit with a zero status even if nothing matched
        D:\project\zzgutils [master ≡ +0 ~41 -0 !]> git add .
        ```

        可是仍然不其作用,请问怎么回事呢!
        36a7bdad6c7f:我这边路径需要时全路径

      本文标题:.gitignore文件不起作用

      本文链接:https://www.haomeiwen.com/subject/aawmqttx.html