我是Git的新手,我刚刚覆盖了花了我几个小时才完成的本地文件。如果有人能帮助我恢复它们(如果这甚至可能!!)我将非常感激。下面是我的命令列表。
git add --all
git commit -m 'Memento'
git checkout master
git push origin master #(ERROR)(TELLS ME MY CURRENT BRANCH IS BEHIND)
git checkout enemies
git commit -m 'Memento'
git push origin enemies #(ERROR)(TELLS ME TO PULL)
git pull
git push origin enemies #(ERROR)(TELLS ME MY CURRENT BRANCH IS BEHIND)
git branch memento
git checkout memento
git push origin memento
git add --all
git commit -m 'memento'
git push origin memento
很抱歉由于我的命令缺乏凝聚力,我是一个完全的初学者,并且对于可能弄乱我的本地文件的事实视而不见。
答案 0 :(得分:0)
由于您似乎已将更改提交到git
,因此旧提交应位于git reflog
(假设发生的情况发生在几天前)。
git reflog
向您显示您的存储库已完成的提交。它显示了每个历史条目的git提交ID。然后,您可以使用git reset --hard <commit ID>
将存储库还原到特定状态(确保首先提交未提交的工作!)
答案 1 :(得分:0)
输入
$ git reflog
找到要回滚的步骤。例如,如果您知道在HEAD@{12}
一切都还可以,那么
$ git reset --hard HEAD@{12}
如果您是Git的新手,请遵守经验:除非您知道后果,否则不要执行任何命令。
我自己学到了很多东西。
答案 2 :(得分:0)
我想向你们指出一些奇怪的错误。
如上所述,修复了大多数问题但是现在两个包都是空的。在此问题发生之前,当他们有3/4课程时,他们没有课程。
我尝试删除该软件包,每次都会告诉我“不同步”#39;或类似的东西,然后用一个类重新填充我的包。我不得不继续删除&#39;我的包裹3/4次,直到完全重新填充。 奇怪但现在一切正常,
再次感谢