我有一个已经初始化的Git存储库,我添加了一个.gitignore文件。我如何刷新文件索引,以便忽略我想要忽略的文件?
当前回答
对于像我这样的迟钝的人,还有一个建议:)将.gitignore文件放到存储库根目录中,而不是放到.git文件夹中。干杯
其他回答
删除.gitignore中的尾随空格
另外,确保你的.gitignore中没有尾随空格。我遇到这个问题是因为我在寻找答案,然后我有一种有趣的感觉,我应该打开编辑器,而不是只键入.gitignore.从结尾处删除一个多余的空格,然后现在就开始工作了:)
我遵循了这些步骤
git rm -r --cached .
git add .
git reset HEAD
之后,git删除所有应该忽略的文件(在我的例子中是*.swp)。
对于像我这样的迟钝的人,还有一个建议:)将.gitignore文件放到存储库根目录中,而不是放到.git文件夹中。干杯
感谢你的回答,我能够写下这个小单行来改进它。我在.gitignore和repo上运行了它,没有任何问题,但如果有人看到任何明显的问题,请评论。这应该是git rm-r--cached from.gitignore:
cat $(git rev-parse --show-toplevel)/.gitIgnore | sed "s/\/$//" | grep -v "^#" | xargs -L 1 -I {} find $(git rev-parse --show-toplevel) -name "{}" | xargs -L 1 git rm -r --cached
注意,你会得到很多致命的错误:pathspec“<pathspec>”与任何文件都不匹配。这只是针对尚未修改的文件。
我发现了一个奇怪的问题。gitignore。一切都很到位,看起来很正确。我的.gitignore被“忽略”的唯一原因是,行结尾是Mac格式(\r)。因此,在保存了具有正确行结尾的文件(在vi中使用:set ff=unix)之后,一切都变得非常迷人!
推荐文章
- 为什么调用git分支——unset-upstream来修复?
- Windows git“警告:LF将被CRLF取代”,这是警告尾巴向后吗?
- git中的哈希冲突
- git可以自动在空格和制表符之间切换吗?
- Git暂存文件列表
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 缓存控制的无缓存和必须重新验证之间的区别?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时