git clean
本文最后更新于 1683 天前,其中的信息可能已经有所发展或是发生改变。

一句话描述

git clean的作用是:  删除工作目录中尚未添加到git版本控制的文件或目录。

使用场景

未添加到版本控制,且不在.gitignore中的,都是Untracked的状态。

  • 有时候我们在项目中添加了些自己的临时文件、目录或临时脚本,用完成后想把它们删了。
  • 有时候则是执行回滚后,有些文件或目录回滚到了Untracked状态,我们需要把它们删掉。

这时候就可以使用git clean。

用法

常用:git clean -df 路径[可选]

usage: git clean [-d] [-f] [-n] [-q] [-x | -X] [--] <paths>...

    -q, --quiet           be quiet(静默删除,只会告诉你出错信息。如果是成功删除了文件或目录则保持沉默)
    -n, --dry-run         dry run(告诉你会被删除的文件或目录有哪些,删除文件毕竟是一件严肃的事,在执行该命令前请务必加上该参数先确定下)
    -f, --force           force(强制删除,clean.requireForce默认的值是true。这种情况下只有加上该参数才能删除)
    -d                    remove whole directories(删除的范围是整个目录)
    -x                    remove ignored files, too(即使是被添加进gitignore的文件或目录也删掉。这里有坑,下面说~)
    -X                    remove only ignored files(只删除被添加进gitignore的文件或目录)
  • 预演:在执行该命令前,务必先加上-n以检查一遍要删除的文件清单。否则删除后要找回来也是挺麻烦的事~

有坑

正常情况下,不加x参数,git clean是不会将ignore的文件或目录删除的。但是~!!如果你在.gitignore文件中对目录的描述是

dir/*

那么很抱歉,这个目录及里面的文件也会被清除掉。即使该目录的确是被git所忽略的。

所以,在.gitignore中对目录的描述最好是

dir1/
dir2

最后吐槽网上很多关于git clean的介绍(中文的)中,对-f参数的描述是file。但其实是force~

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇