忽略已经提交给Git存储库的文件

这个问题在这里已经有了答案:

  • 如何让Git“忘记”一个已被追踪但现在在.gitignore中的文件? 17个答案

  • 要解开已经添加/初始化到您的存储库的单个文件,即停止跟踪文件,但不能从系统中删除它使用: git rm --cached filename

    要查找现在位于.gitignore每个文件,请执行以下操作:

    首先提交任何未完成的代码更改 ,然后运行以下命令:

    git rm -r --cached .
    

    这将从索引(暂存区域)中删除所有已更改的文件,然后运行:

    git add .
    

    承诺:

    git commit -m ".gitignore is now working"
    

    要撤消git rm --cached filename ,请使用git add filename


    如果您试图忽略已经在存储库中跟踪的文件的更改(例如,您需要为本地环境更改的dev.properties文件,但不希望检查这些更改),而不是您想要执行的操作是:

    git update-index --assume-unchanged <file>
    

    如果你想再次开始跟踪更改

    git update-index --no-assume-unchanged <file>
    

    参见git-update-index(1)手册页。

    也可以看看update-index的skip-worktreeno-skip-worktree选项,如果你需要通过git-reset(via)


    更新:由于人们一直在问,这里有一个方便的(以及更新后的评论)别名,用于查看当前工作区中当前“忽略”了哪些文件(--assume-unchanged)

    $ git config --global alias.ignored = !git ls-files -v | grep "^[[:lower:]]"
    

    为了untrack已经被添加/初始化到存储库文件,即停止跟踪该文件,但不能从您的系统使用的删除: git rm --cached filename

    链接地址: http://www.djcxy.com/p/545.html

    上一篇: Ignore files that have already been committed to a Git repository

    下一篇: "Your branch is ahead of 'origin/master' by 3 commits."