如何删除git中未跟踪的文件

以一个分支为例,我们在其中进行了一些更改并添加了新文件。但是,如果我们不再需要这些更改,我们可以使用以下方法重置更改:

bash 复制代码
git reset --hard

上面的代码将删除已处于版本控制之下的文件中的更改。reset即使使用该命令后,未跟踪的文件仍然会存在。


要删除未跟踪的文件,请使用该git clean命令。

假设我们有一个新文件 ( file1.txt) 和一个新文件夹 ( folder1),该fileinsidefolder.txt文件已添加到我们的分支中:

试运行

Dry Run 将告诉您执行命令后将删除哪些文件clean:

bash 复制代码
git clean -n 

这只会列出文件,要列出文件夹使用

bash 复制代码
git clean -nd

删除未跟踪的文件和文件夹

-f要使用带有命令的标志来删除未跟踪的文件git clean:

bash 复制代码
git clean -f

要删除子文件夹内未跟踪的文件,请使用:

bash 复制代码
git clean -f folderpath 

未跟踪的文件现在将被删除。如果您也想删除未跟踪的文件夹,可以使用以下-d标志:

bash 复制代码
git clean -fd

要删除忽略文件,请使用以下-x标志:

bash 复制代码
git clean -fx

概括

  • 未跟踪的文件一旦删除,就无法恢复。
  • 在运行 git clean 命令之前,先dry run了解哪些文件将被删除。
  • -n标志用于执行试运行。
  • -f 标志用于删除未跟踪的文件。
  • -fd标志用于删除未跟踪的文件和文件夹。
  • -fx标志用于删除未跟踪和忽略的文件。
相关推荐
高调的涵涵16 小时前
删了1.2GB,.git仍是1.2GB
git
程序员沉梦听雨18 小时前
【Git】git-submodule子模块管理
git
全栈陈序员2 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
7177772 天前
Git自建用什么工具比较好:Gitea、Forgejo、GitLab CE与Gitee的选型对比
git·gitlab·gitea
lsc_blog3 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
全栈陈序员3 天前
【Git】从入门到精通(十一)—— git reset 三种模式详解
git·elasticsearch
全栈陈序员3 天前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git
全栈陈序员3 天前
【Git】从入门到精通(五)—— git add:将文件加入暂存区
大数据·git·elasticsearch
全栈陈序员3 天前
【Git】从入门到精通(七)—— git status:查看仓库状态
大数据·git·elasticsearch
莫晓燚4 天前
Ansible 13 个常用模块---企业实战
git·github