我想我用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”?但没有任何帮助。
这将使您提交更改。但是,如果您有未提交的更改,除非在非常特殊的情况下,否则您基本上无法取回它们。
脚步:
转到git reflog
并找到原始提交:"v0.2.1"
。我建议您要么使用git标签,要么为提交提交不同的消息,以便于跟踪。
找到它后,使用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] 删除。
我来说两句