我不小心在我的git repo上做了一些事情,现在不确定能否保存我的项目...
我做了很多修改。然后我想删除我的最后一次提交,以便我可以做这个新的提交。我忘记了执行git stash。所以当我运行git reset --hard [倒数第二次提交]
时,它抹掉了我所做的一切。虽然这很愚蠢,但是我是否有任何方法来挽救我的最近工作?
我正在使用Eclipse IDE。
对于git来说,简短回答是不行。
如果你没有使用add
或者stash
命令,那么恢复文件是不可能的。
一般来说,处理这类问题最好的方法是依赖IDE。
在Eclipse中,你可以查看以下路径:
.metadata/.plugins/org.eclipse.core.resources/.history/
cd .metadata/.plugins/org.eclipse.core.resources/.history/
ls -al * | grep "<today's date>" | grep "r\-\-" | sort -k 6
"<today's date>"
替换为"Jul 27"
等日期。find . -name <filename>
"7098a672a2bc00111703c0e5cbee369d"
的内容来替换"<filename>"
。很遗憾,git无法知道您未提交或隐藏的文件内容。这意味着您无法使用git恢复更改。其他工具可能会有所帮助。例如,IntelliJ具有“本地历史记录”功能,可跟踪所有保存的更改。也许您的编辑器有类似的功能?
reset
,而且还传递了一个--hard
标志。与其远离它,不如学习基础知识。只有正确理解Git时,它才真正强大。 - scharette
add
操作吗? - scharette