云网牛站
所在位置:首页 > Linux教程 > 在Git中删除未跟踪的文件及删除忽略的文件

在Git中删除未跟踪的文件及删除忽略的文件

2019-08-24 15:53:14作者:符天稿源:云网牛站

本文介绍如何在Git中删除未跟踪的文件。可以跟踪或取消跟踪Git工作目录中的文件,跟踪文件是已添加并提交并且git知道的文件,跟踪文件可以不进行修改,或暂存,工作目录中的所有其他文件都是未跟踪的,git不知道这些文件。有时你的git工作目录可能会混乱不必要的文件,这些文件要么是自动生成的,要么是从合并中删除,要么是由于错误创建的,在这些情况下,你可以在.gitignore中添加这些文件或删除它们,如果你想让你的存储库保持良好和清洁,更好的选择是删除不必要的文件。安装Git参考在Debian 10 Linux系统上安装Git及配置Git的方法

在Git中删除未跟踪的文件及删除忽略的文件

 

删除未跟踪的文件

允许你删除未跟踪文件的命令是git clean。

备份存储库总是一个好主意,因为一旦删除,就无法恢复文件和对它们所做的更改。

在运行实际命令并删除未跟踪的文件和目录之前,请使用-n选项执行“dry run”并显示将删除的文件和目录:

git clean -d -n

输出信息如下:

Would remove content/test/

Would remove content/blog/post/example.md

如果上面列出的某些文件很重要,你应该使用git add <file>开始跟踪这些文件,或者将它们添加到.gitignore。

一旦确定要继续删除未跟踪的文件和目录,请键入:

git clean -d -f

该命令将打印所有成功删除的文件和目录:

Removing content/test/

Removing content/blog/post/example.md

-d选项让git也删除未跟踪的目录,如果你不想删除空的未跟踪目录,请省略-d选项。

-f选项代表强制,如果没有使用并且Git配置变量clean.requireForce设置为true,Git将不会删除这些文件。

如果要以交互方式删除未跟踪的文件,请使用-i选项:

git clean -d -i

输出将显示要删除的文件和目录,并询问你如何处理这些文件,如下图所示:

在Git中删除未跟踪的文件及删除忽略的文件

选择其中一个选项并按Enter键。

如果要将清理操作限制为给定目录,请将要检查的目录的路径作为命令的参数传递给未跟踪文件,例如,要检查src目录下的文件,你将运行:

git clean -d -n src

 

删除忽略的文件

git clean命令还允许删除被忽略的文件和目录。

要删除所有被忽略和未跟踪的文件,请使用-x选项:

git clean -d -n -x

如果要仅删除忽略的文件和目录,请使用-X选项:

git clean -d -n -X

上面的命令将删除.gitignore中列出的所有文件和目录,并保留未跟踪的文件。

 

结论

在本文中,我们向你展示了如何在Git中删除未跟踪的文件和目录,在实际删除文件之前,请记住始终执行dry run命令。

 

相关主题

在Linux系统上使用GitLab托管自己的Git server

精选文章
热门文章