我问,因为git stash -u开始删除我的.gitignored eclipse配置设置,并没有将它们保存到存储区。我完全丢失了我的项目配置。 (如果这不是正确或预期的行为,请告诉我)
哪些其他命令可能会删除未跟踪,忽略的文件?
有哪些有效的预防措施可以确保未删除未跟踪的本地文件?
修改 - 补充信息:
如果要保留.gitignored文件,请使用--all而不是-u。
[ - U | --include-未跟踪]
如果使用--include-untracked选项,所有未跟踪的文件也会被隐藏,然后使用git clean清理,使工作目录处于非常干净的状态。如果使用--all选项,则除了未跟踪的文件外,还会隐藏和清除被忽略的文件。
答案 0 :(得分:5)
有哪些有效的预防措施可以确保无法跟踪 本地文件不会被删除?
不要使用删除文件的命令: - )。
严重:git中没有针对未跟踪文件的特定保护,但git通常非常努力地不会丢失任何数据,除非您明确告诉它。
即使是最危险的命令(例如git reset --hard
,git checkout -- file
)也不会触及未跟踪的文件。唯一危险的命令是(AFAIK):
git stash -u
(正如您所发现的那样)git clean
此外,我发现永远不会在未跟踪文件中拥有有价值的数据。如果它很重要,则需要签入。只有一次性数据和生成的文件应该是.gitignored。
关于Eclipse配置:最好有一些工具来自动生成它(或让Eclipse通过发现自己生成它)。然后你可以安全地.gitignore它,并在丢失时重新创建它。