kes@work ~/t/etc $ git rm local.conf
The following pathspecs didn't match any eligible path, but they do match index
entries outside the current sparse checkout:
local.conf
hint: Disable or modify the sparsity rules if you intend to update such entries.
hint: Disable this message with "git config advice.updateSparsePath false"
我之前做过:
git update-index --skip-worktree etc/local.conf
如何
Disable or modify the sparsity rules
?
skip-worktree
是内部标志,用于标记提交中但不属于签出的路径。 Git 有一个便利的工具,“稀疏检出”,如果你好奇的话,可以说 git help sparse-checkout
,它允许你......好吧,只对你想要使用的路径进行稀疏检出,并完全忽略其他路径中的任何内容。提交中的路径。事实证明,这在很多人从未遇到过的情况下非常方便。
当索引条目点亮该标志时,Git 的内部结构实际上会跳过会影响或引用工作树中路径的每个操作,但它们会保留索引条目以提醒自己该路径超出范围。
该提示是假设您使用稀疏结帐工具点亮该标志而编写的。按照您自己的方式使用该标志并没有什么问题,但是这些提示假定您正在做一些您在文档中尚未遇到的事情。
如果您想要删除该文件和索引条目,请先使用
git update-index --no-skip-worktree etc/local.conf
取消设置跳过工作树标志,然后 git rm
将按预期工作。
如果您想要做的只是删除索引条目,您可以直接在核心命令级别执行此操作,
git update-index --force-remove etc/local.conf
,或者像上面那样取消设置标志,然后git rm --cached
它。
从 .gitignore 文件中删除您的文件引用,或者只是在 .gitignore 文件中将其注释掉。