git恢复本地未提交的更改

用户1935987

我想我用git弄乱了,尽管我不知道到底发生了什么:)因此,最初,虽然不在data目录中(以为我是inproject的根目录),但这是我的命令历史记录:

 git add .
 git commit -m "v0.2.1"
 git push origin master
 git add .
 git commit -m "v0.2.1"
 git rm -r data
 git rm  data
 git rm data/file.txt
 git rm 
 git rm .
 git rm . -r
 cd ../
 git rm -r data
 git rm -r data/
 git rm -r .data
 git rm -r ./data
 git add .
 git commit -m "v0.2.1"
 git push origin master
 git reset --hard HEAD~1
 git push --force

我只是想提交更改,然后忘记data从那些更改中删除目录。最后,主项目目录中的许多工作丢失了-文件恢复到上一次提交时的状态(此后做了很多工作)。我猜发生了,因为git reset --hard HEAD~1这可能是错误日志的建议,因为存在一些问题。赶时间,这是结果。

以任何方式我可以将一些本地文件还原到发生这种情况之前的状态?从这里尝试解决方案如何还原“ git rm -r”?但没有任何帮助。

BKSpurgeon

这将使您提交更改。但是,如果您有未提交的更改,除非在非常特殊的情况下,否则您基本上无法取回它们。

脚步:

1.查找原始提交

转到git reflog并找到原始提交:"v0.2.1"我建议您要么使用git标签,要么为提交提交不同的消息,以便于跟踪。

2.恢复该提交

找到它后,使用sha还原所有内容:

SHA-of-the-commit-you-want-to-restore (HEAD -> master) HEAD@{1234}: commit: v0.2.1 - the commit before everything was screwed up.

git reset --hard SHA-of-the-commit-you-want-to-restore

一切都应该恢复正常!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章