我有一个已经初始化的 Git 存储库,我添加了一个.gitignore
文件。如何刷新文件索引以便忽略我想忽略的文件?
要解压缩已经添加 / 初始化到存储库的单个文件, 即停止跟踪文件但不从系统中删除它: 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
。
确保在运行
git add .
之前提交所有重要更改git add .
否则,您将丢失对其他文件的任何更改。
如果您试图忽略对已在存储库中跟踪的文件的更改(例如,您需要为本地环境更改的 dev.properties 文件,但您永远不想检查这些更改),而不是您想要执行的操作是:
git update-index --assume-unchanged <file>
如果您想再次开始跟踪更改
git update-index --no-assume-unchanged <file>
如果你需要这个选项来保持 git-reset( 通过 ),请查看 update-index 的skip-worktree
和no-skip-worktree
选项。
更新:由于人们一直在询问,这里有一个方便的(以及下面评论的更新)别名,用于查看当前工作区中当前 “忽略”( - 保持不变)的文件
$ git config --global alias.ignored = !git ls-files -v | grep "^[[:lower:]]"
要取消已经添加 / 初始化到存储库的文件,即停止跟踪文件但不从系统中删除它: git rm --cached filename