git reset - 忽略特定的未跟踪文件

时间:2013-01-20 10:19:58

标签: git version-control

我经常与git reset --hard一起执行git clean -f 为了清理我的分支修改和构建文件。 这个命令删除所有未跟踪的文件,这对我来说没问题,但我想保留的文件很少,例如.project或.settings(用于eclipse)

这些文件不是存储库的一部分,并在.gitignore文件中声明。 有没有办法在发出上述命令时保留这些文件,或者我应该为您指定不同的命令?

2 个答案:

答案 0 :(得分:5)

请注意,git clean -f应该只删除git未知的文件,忽略文件。

只有git clean -f -x会删除被忽略的文件。

(在所有情况下,git clean -n -...更好,预览要删除的内容)

git reset优于git clean的优势主要在于移动HEAD并重置索引以及工作树。
git clean仅与工作树有关。

答案 1 :(得分:4)

git reset不会触及忽略的文件。它主要用于HEAD指针和索引。但是git clean是邪恶的:

  

通过从当前目录开始递归删除不受版本控制的文件来清理工作树。

所以答案是:不要使用git clean