我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
我刚刚发明和尝试的这种情形的救生衣(非常有效):
git add .
git reset --hard HEAD
当心!确定承诺任何所需的更改(甚至在未跟踪的文件中)执行前先执行.
其他回答
git add --all
, git stash
和git stash drop
,在此顺序中尝试这三个命令以删除所有未跟踪的文件。如果将所有这些未跟踪的文件添加到 Git 并隐藏它们,则所有未跟踪的文件都将移到隐藏列表中,并删除最上面的列表,即,隐藏%0}将从隐藏列表中删除隐藏的更改 。
清除未跟踪文件的简单方式
要删除所有未跟踪的文件,简单的方法就是先加全部和重置重置( R)如下所示
git add --all
git reset --hard HEAD
git-清洁这是您正在寻找的。 它用于从工作树上移除未跟踪的文件 。
如果您只想删除列表中未被“ gitt status” 跟踪的文件
git stash save -u
git stash drop "stash@{0}"
我更喜欢这个而不是“ 开始清理” , 因为“ 开始清理” 将会删除被忽略的文件, 所以您的下一栋建筑必须重建一切, 您也可能丢失您的 IDE 设置 。
uggested 命令从 git docs 删除未跟踪的文件是git 干净
git 干净- 从工作树中移除未跟踪的文件
建议的方法:通过使用git clean -i
这样我们就可以控制它。让我们看看剩下的选择。
可用的选项 :
git clean
-d -f -i -n -q -e -x -X (can use either)
解释:
1. - d. d. 与
除未跟踪的文件外, 删除未跟踪的目录。 如果未跟踪的目录由不同的 Git 仓库管理, 默认情况下不会删除。 如果您真的想要删除此目录, 请两次使用 - f 选项 。
2.f, -- 力
如果 Git 配置变量为清洁. require Force 不设假, 除非给 -f, n 或 -i , git clean 将拒绝运行 。
3 -i, -- 互动
以交互方式显示要做什么和清除文件。 详情请见“ 互动模式 ” 。
-n, --dry-run
不要删除任何东西, 只显示会做什么。
- 5q, - 安静
保持安静, 只报告错误, 而不是成功删除的文件 。
-e, --clucte=
除了在.gitignore(每个目录)和$GIT_DIR/info/exclude中发现的图案外,还认为这些图案属于一套现行无视规则。
7. -x
不要使用从.gitignore( 每一个目录) 和 $GIT_ DIR/ info/ exclude 读取的标准忽略规则, 但是仍然使用给定的 - e 选项的忽略规则。 这样可以删除所有未跟踪的文件, 包括建材产品 。 这可以用来( 可能与 Git 重设一起) 创建一个纯净的工作目录以测试清洁的构建 。
8. -X8 -X
只删除被 Git 忽略的文件。 这也许有助于从零开始重建一切, 但保存手动创建的文件 。
推荐文章
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- git隐藏的意图用例是什么?
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?
- 撤销“git add <dir>”?
- 是否可以在不先签出整个存储库的情况下进行稀疏签出?
- 如何移除SSH密钥?