我使用命令git checkout - $(git ls-files -m)
来撤消某些文件的git rm
。但是,我修改了一些其他文件而没有提交它们,这些文件已经恢复到之前的提交,丢失了未提交的更改。
有没有办法让这些变化回来?
我想不到git,因为更改没有添加到git。在Mac上如果有帮助的话。
由于 汤姆
答案 0 :(得分:0)
“
Does git checkout really silently overwrite uncommitted changes?
”
并且答案在2018年仍然是“是”(刚刚在2.11上进行了测试)
确实是在2019年8月发布的Git 2.23,除了现在有更多explicit git restore
command
一个简单的git restore .
也会从索引内容中静默恢复工作树(因此,如果文件被修改但未添加到该索引中,它们的更改仍然会丢失)
但是至少有no confusion possible between checkout of files and of branch。
答案 1 :(得分:0)
默认情况下,您无法将其取回,但是在这种紧急情况下,您可能会很幸运,并且能够通过以下方式检索git checkout filename
意外破坏的文件:
undo
来取回文件(因为它倾向于加载到