我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
删除此 repo + 子模块中的所有额外文件夹和文件
这让你和新克隆人处于同样的状态
git clean -ffdx
删除此回调中的全部额外文件夹和文件, 但不删除子模块
git clean -fdx
删除额外的文件夹, 但不包括文件( 如: 构建或日志文件夹) 。
git clean -fd
删除额外文件夹 + 忽略的文件(但不是新添加的文件)
如果文件没有被忽略, 还没有被检查, 那么它会留下来 。 请注意首都 X 。
git clean -fdX
新的互动模式
git clean
其他回答
如果需要从特定的子目录中删除未跟踪的文件,
git clean -f {dir_path}
并合并删除未跟踪的 dir/ file 和被忽略的文件 。
git clean -fxd {dir_path}
在此之后, 您将只对文件进行修改git status
.
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 忽略的文件。 这也许有助于从零开始重建一切, 但保存手动创建的文件 。
注意: 第一次浏览到目录并检查您想要清除的分支 。
-i
交互式模式,它将告诉您要删除什么, 您可以从列表中选择一个动作 。
清洁文件 文件仅[不列出文件夹,也不清洗]:
$ git clean -i
清洁文件和文件夹:
$ git clean -d -i
-d
包括目录。
如果您选择了c
从列表中删除。文件/文件夹将被删除,因为文件/文件夹没有被跟踪,还会删除被你弄乱的文件/文件夹。 *
例如:如果您对远程的文件夹进行重组,并将修改拉到本地计算机中。其他人最初创建的文件/文件夹将放在过去的文件夹和您重组的新文件夹中。
我刚刚发明和尝试的这种情形的救生衣(非常有效):
git add .
git reset --hard HEAD
当心!确定承诺任何所需的更改(甚至在未跟踪的文件中)执行前先执行.
要删除未跟踪的文件 :
git add .
git reset --hard HEAD
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录
- 如何在GitHub上创建自己的存储库?