git clean cheat sheet

发布时间 2023-05-29 11:06:36作者: 你是木木吗
tags: [git, published]

TL;DR

git 默认只会非递归地删除当前目录下不被 ignore 匹配、且不在 untracked 目录中的 untracked 文件

  1. 是否被 ignore 文件匹配的
    使用 -x 删除 ignore 文件[1]
  2. 所在目录是否 untracked
    如果是,需要使用 -d 删除

default 行为

默认会删除当前目录下的 untracked file,并且不会递归地删除子目录下 untracked file
如果指定了某个路径,则会进行递归地删除

注意:

  1. ignore 文件不会被删除
  2. untracked directory 中的文件不会被删除

带选项的行为

  • -d Directory
    没有指定路径时,会进行递归删除
    但如果指定了某个路径,这个选项就没有意义了
  • -f Force
    使用 git clean 命令时需要配置 clean.requireForce 变量,如果没有配置,则需要使用 -f 选项进行强制删除
  • -x
    删除 ignore file

Reference

Git - Clean - GeeksforGeeks
git-clean(1) - Linux man page


  1. 被 gitignore 文件中的模式匹配的文件 ↩︎