我正在使用git remove git rm
。我犯了一个简单/愚蠢的错误:手动删除一个包含所有文件的文件夹,之前是我使用的git rm
。
现在,我有超过15个文件要从存储库中删除,但不键入。
有没有办法做到这一点?
git status
deleted: Literature/abc.md
deleted: Literature/acdf.pdf
deleted: Literature/dsfsdf.pdf
deleted: Literature/dfgdfs.pdf
deleted: Literature/sgadfgaa.md
deleted: Literature/sdsds.pdf
deleted: Literature/sddvasds.rmd
deleted: Literature/ddsds.md
deleted: Literature/fsdfsdsd.png
答案 0 :(得分:1)
是的,它们已从您的 worktree 中删除,但是这些文件已保存在上一修订版*中,因此您只需还原这些文件,就像它们在最后一次提交时一样:
git checkout -- full/path/to/Literature/
然后首先按照您的预期rm
。
* (除非这些是新添加的文件,但您没有这样说)
答案 1 :(得分:1)
如果当前没有其他更改,并且确定,则需要恢复到上一次提交状态,
您可以使用git reset --hard
,将HEAD移至上次提交的哈希,并在提交后丢弃所有本地更改
或者,更安全的方法是先执行git reset {path to your deleted folder}
,使文件暂存以进行下一次提交,然后按照@RomainValeri的建议进行git checkout -- {path to your deleted folder}
答案 2 :(得分:0)