Git 工作目录中的文件可以是跟踪的,也可以是非跟踪的。
跟踪的文件是 Git 知道的已添加和提交的文件。跟踪的文件可以是未修改的、已修改的或暂存的。工作目录中的所有其他文件都未被跟踪,并且 git 不知道这些文件。
有时,您的 git 工作目录可能会堆满不必要的文件,这些文件要么是自动生成的、合并遗留的,要么是错误创建的。在这些情况下,您可以将这些文件添加到.gitignore或删除它们。如果您想保持存储库干净整洁,更好的选择是删除不必要的文件。
本文介绍如何删除 Git 中未跟踪的文件。
删除未跟踪的文件#
允许您删除未跟踪文件的命令是git clean
.
备份存储库始终是一个好主意,因为一旦删除,文件和对其所做的更改将无法恢复。
在运行实际命令并删除未跟踪的文件和目录之前,请使用-n
选项将执行“试运行”并显示哪些文件和目录将被删除:
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
The -d
选项告诉 git 也删除未跟踪的目录。如果您不想删除空的未跟踪目录,请省略-d
option.
The -f
选项代表力量。如果没有使用Git配置变量clean.requireForce
设置为 true,Git 不会删除文件。
要以交互方式删除未跟踪的文件,请使用-i
option:
git clean -d -i
输出将显示要删除的文件和目录,并询问您如何处理这些文件:
Would remove the following items:
content/test/ content/blog/post/example.md
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
选择其中一项并点击Enter
.
如果要将清理操作限制为给定目录,请将要检查未跟踪文件的目录的路径作为命令的参数传递。例如,要检查以下文件src
目录,您将运行:
git clean -d -n src
删除忽略的文件#
The git clean
命令还允许删除忽略的文件和目录。
要删除所有忽略和未跟踪的文件,请使用-x
option:
git clean -d -n -x
如果您只想删除被忽略的文件和目录,请使用-X
option:
git clean -d -n -X
上面的命令将删除您的目录中列出的所有文件和目录.gitignore
并保留未跟踪的文件。
结论#
在本教程中,我们向您展示了如何删除 Git 中未跟踪的文件和目录。请记住在实际删除文件之前始终先试运行该命令。
如果您有反馈意见,请在下面发表评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)