6

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

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

4

2 回答 2

5

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

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

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

git resetover的优点git clean主要是移动 HEAD 和重置索引以及工作树。
git clean只是关于工作树。

于 2013-01-20T10:34:21.473 回答
4

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

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

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

于 2013-01-20T10:23:15.517 回答