Git相当于hg purge

时间:2013-09-14 19:57:11

标签: git mercurial

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

我认为这是干净的,但不是......

$ 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先生请帮我删除未跟踪的文件?

2 个答案:

答案 0 :(得分:34)

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

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

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

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

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

答案 1 :(得分:6)

这是一个快速翻译:

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

Git也有git clean -f -X(大写X),它只删除被忽略的文件但保留未跟踪的文件。 Mercurial对此毫无效果。