git - Git clean 没有清理未跟踪的文件
问题描述
我收到“以下未跟踪的工作树文件将被结帐覆盖......请在切换分支之前移动或删除它们”错误。
常见的修复方法似乎是git clean
当我输入它时,我没有收到任何错误,但没有任何反应。当我去检查另一个分支时,我得到了与上面相同的错误。
有什么理由说明为什么git clean
绝对什么都不做?
更新:
更多信息。git -n
并git -f
做同样的事情......什么都没有。
解决方案
如果要清理未跟踪的文件,请使用以下命令。但是,在运行它之前要小心,因为它会擦除你的工作区、索引、HEAD。
git reset --hard
我认为您的工作区域中有未跟踪的目录或忽略的 gitignore 文件(构建文件)。您可以通过以下命令删除它们。
git clean -dfx
-d
除了未跟踪的文件之外,还删除未跟踪的目录。如果未跟踪的目录由不同的 Git 存储库管理,则默认情况下不会将其删除。如果您真的想删除这样的目录,请使用 -f 选项两次。
-f --force
如果 Git 配置变量 clean.requireForce 没有设置为 false,git clean 将拒绝删除文件或目录,除非给定 -f、-n 或 -i。除非给出第二个 -f,否则 Git 将拒绝删除带有 .git 子目录或文件的目录。
-X
不要使用从 .gitignore (per directory) > 和 $GIT_DIR/info/exclude 读取的标准忽略规则,但仍然使用 -e > 选项给出的忽略规则。这允许删除所有未跟踪的文件,包括构建产品。这可以用于(可能与 git reset 结合使用)来创建一个原始工作目录来测试一个干净的构建。
更多信息git clean
推荐阅读
- r - 更改变量 R 的名称
- bash - 带有绝对路径和控制错误的 Shell 脚本
- c - c中按位或运算符的结果
- django - 如何在 Django 中训练 Keras 模型:对“gevent._local.local”对象错误的弱引用
- python - Matplotlib 无法导入,显示为类型错误
- android - 无法在 Dart/Flutter 多部分请求中发送正文参数
- sql - 如何在 SQL Server 中将 9999 转换为 999999
- python - 将 cookie 加载到 Python 请求会话时出错
- c++ - 为什么使用不匹配的参数调用重载函数仍然有效
- caching - 挂起和取消挂起不想缓存在 cPanel