4

我问是因为 git stash -u 开始删除我的 .gitignored eclipse 配置设置,并且没有将它们保存到存储中。我完全失去了我的项目配置。(如果这不是正确的或预期的行为,请告诉我)

还有哪些其他命令可以删除未跟踪的、被忽略的文件?

有哪些有效的预防措施可以确保未跟踪的本地文件不被删除?


编辑 - 补充信息:

git-stash

如果要保留 .gitignored 文件,请使用 --all 而不是 -u。

[-u|--包括-未跟踪]

如果使用 --include-untracked 选项,所有未跟踪的文件也会被隐藏,然后用 git clean 清理,使工作目录处于非常干净的状态。如果改为使用 --all 选项,则除了未跟踪的文件之外,还会隐藏和清理被忽略的文件。

4

1 回答 1

5

有哪些有效的预防措施可以确保未跟踪的本地文件不被删除?

不要使用删除文件的命令:-)。

说真的:git 中没有针对未跟踪文件的特定保护,但 git 通常会非常努力地不丢失任何数据,除非您明确告诉它这样做。

即使是最危险的命令(如git reset --hard, git checkout -- file)也不会触及未跟踪的文件。唯一危险的命令是(AFAIK):

  • git stash -u(如你所见)
  • git clean

此外,我发现最好不要在未跟踪的文件中包含有价值的数据。如果它很重要,则需要签入。只有一次性数据和生成的文件应该是 .gitignored。

至于 Eclipse 配置:最好有一些工具来自动生成它(或者让 Eclipse 通过发现自己生成它)。然后您可以安全地 .gitignore 它,并在丢失时重新创建它。

于 2013-08-26T21:59:13.810 回答