防止git删除未跟踪的.gitignored文件?

时间:2013-08-26 21:30:58

标签: git

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

哪些其他命令可能会删除未跟踪,忽略的文件?

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


修改 - 补充信息:

git-stash

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

[ - U | --include-未跟踪]

  

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

1 个答案:

答案 0 :(得分:5)

  

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

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

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

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

  • git stash -u(正如您所发现的那样)
  • git clean

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

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