偶然地,我做了git checkout -- .,失去了一个星期的工作。我试过了git reflog,但是没有一个标记点,它消除了我没有标记的更改。
是否可以撤消git checkout -- .(git checkout双破折号)
使用git对象恢复这些东西怎么办?git是否会为存储库拍摄快照,即使没有快照也是如此git commit?
不幸的是:如果你想检索你的文件,你的文件内容必须以某种方式登陆 git。
git checkout -- .是少数破坏性命令之一(与git reset --hard和一起git clean -f),它可以从磁盘中删除内容,而无需事先将其存储在 git 中。
所以仅靠 git 无法帮助你;您必须求助于 IDE 的历史记录或文件恢复实用程序。
作为记录,以下是以某种方式在存储库中“存储内容”的操作:
git commit, 明显地 ...git stash:此命令实际上创建完整的提交,您创建的最后一个不会过期,之前的存储将根据 reflog 过期规则过期(默认保留期为 30 天,请参阅git gc上的帮助)git add [file](即使没有运行git commit):这会将文件的内容写入 git 数据库中的某个位置;该文件不会与其名称一起存储,但您可以使用一些技巧来按文件内容扫描文件(blob用 git 的说法)。“松散文件”的默认保留期是 2 周(请参阅git gc的帮助)| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |