26

不仅仅是命令,还有实际行为...... hg purge 将删除所有未跟踪的文件。

我以为是 git clean ,但不是...

$ git clean
fatal: clean.requireForce defaults to true and neither -n nor -f given; refusing to clean

$ git clean -n
Would not remove src/

$ git clean -f
Not removing src/

所以,感觉就像 git 只是告诉我自己去他妈的,大声笑......我不是问这件事是否同意,我只是想让 Git 做我要求它做的事情。

如何说服 Git 先生帮我删除未跟踪的文件?

4

2 回答 2

37

如果您还想删除目录,请运行git clean -f -d

如果您只想删除被忽略的文件,请运行git clean -f -X

如果要删除忽略的文件和未忽略的文件,请运行git clean -f -x

请注意后两个命令在 X 上的大小写差异。

编辑:关于这个 git 操作的有用链接:)

于 2013-09-14T20:00:48.673 回答
8

这是一个快速翻译:

  • hg purge转换为git clean -f -d(仅删除未跟踪的文件和目录)
  • hg purge --all转换为git clean -f -d -x(也删除了忽略的文件)

Git 也有git clean -f -X(大写 X),它只删除被忽略的文件,但保持未跟踪的文件不变。Mercurial 没有这方面的等价物。

于 2016-04-15T07:30:03.920 回答