回答

收藏

如何从当前 Git 工作树中删除本地(未跟踪)文件

技术问答 技术问答 568 人阅读 | 0 人回复 | 2023-09-11

如何从当前工作树中删除未跟踪的本地文件?( {/ a% n: _0 u1 K6 Y3 B0 h. C
                                                                ) [0 Y! z- _7 y6 |! F( V; C
    解决方案:                                                                8 q7 b  q5 P7 L& `+ S
                                                                git-clean - 从工作树上删除未跟踪的文件概要git clean [-d] [-f] [-i] [-n] [-q] [-e ] [-x | -X] [--] …# I7 H/ ]" G0 J* a
描述通过从当前目录开始将不受版本控制的文件递归删除清理工作树。
4 ]1 a* i% I" v8 l* \通常, 只会被删除Git 未知文件,但如果-x如果指定了该选项,则将删除忽略的文件。例如,这对删除所有构建产品非常有用。. y0 z+ V# k3 M9 r7 S: @) [
如果...只有这些路径会受到任何可选参数的影响。
8 G! k4 E7 ]$ k: `" `% U" u使用步骤 1 -n选项显示将删除的内容:
1 E- v8 B) j4 g- j  V# Print out the list of files and directories which will be removed (dry run)git clean -n -d清理步骤 -小心:此文件将被删除; O7 E- z" n) M) o: F
# Delete the files from the repositorygit clean -f删除目录,请操作git clean -f -d或git clean -fd4 V! L+ p  S2 N* u
删除被忽略的文件,请操作git clean -f -X或git clean -fX
4 }, s# l& v! m. s* i) p7 {删除忽略和不忽视的文件,请操作git clean -f -x或git clean -fx
请注意X后两个命令的大小写差异。
" I( h- @3 B. X' n% K" U( O如果clean.requireForce在您的配置中设置为true(默认值),需要指定-f否则,什么都不会发生。5 s; s+ c- W- \  k& Q( S
再次查看git-clean获取更多信息的文档。
# Y* h- v" G) A' O- p9 a选项-f,--force
1 b$ ~6 U2 ]+ t: n" x如果 Git 配置变量 clean.requireForce 未设置为 false,除非给出或-f,否则 git clean 将拒绝运行。-n``-i
% ~/ m1 w, U7 M% I! v-x
' U6 V8 |6 z# {从 不使用.gitignore(每个目录)和 阅读标准忽略规则$GIT_DIR/info/exclude,但仍然使用-e选项给出的忽略规则。这允许删除包括构建产品在内的所有未跟踪文件。这可以用于(可能与 git reset 结合使用)创建原始工作目录,测试清洁度。
1 L/ |2 k& F, e: _- S-X: ~9 K: `- |8 e9 Y' z. S4 D/ W( H$ q
仅删除 Git 忽略的文件。这可能对从零开始重建所有内容非常有用,但保留手动创建的文件。
% N$ v: m- B7 W5 H- ^-n,--dry-run
. _$ W0 {& |& m) ^+ c7 Y) ^/ s6 j事实上,不要删除任何内容,只要显示要执行的操作。; a' |4 v8 A# }# G9 y  g
-d) a* y* j6 v5 n5 D4 d# g% ~
除了未跟踪的文件,未跟踪的目录也被删除。如果未跟踪的目录是不同的 Git 存储管理,默认情况下不会删除。-f如果您真的想删除此类目录,请使用两次选项。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则