所以我选择了git checkout <past_commit_hashtag>
但是我想撤销它并返回到当前的最新版本
所以我做了一大堆事情:
git reset --hard
git checkout <root folder>
git branch -D master
git checkout master
尽管如此,我现在得到一个错误消息Fatal error: Cannot redeclare file_create_url() etc
,这意味着我没有正确地恢复到最新版本…
我怎样才能正确地回到当前的版本?
git pull --rebase
显示我的分支是最新的git status
显示无脏变化
Do a
git reflog
查看您的移动HEAD refaround的本地历史记录,并找到您想要返回的提交的哈希值和
git checkout $THATHASH
要"撤销签出",您只需要签出所需的修订。如果你想恢复到某个分支,只需执行git checkout branchname
。当然,如果您已经执行了几个随机命令而不理解它们的含义,那么回滚它们可能会更加困难。
您处于分离的HEAD状态,返回将只是git checkout master
。但与此同时,你却删除了那个(git branch -D master
)……恭喜你!
git fsck --lost-found
应该向你展示漂浮在空中的几个提交(你已经放弃的,以及你杀死的master
)。每个都做一个git checkout
,然后环顾四周。如果它看起来像你丢失的master
,在那里做一个git branch master
。检查它是否正常。该分支的配置(它从哪里获取,等等)丢失了,需要重建。参见git config
、git remote
等
还可以查看git手册中的"维护和数据恢复"章节。
如果有任何疑问,将包含存储库的目录复制到一个新的副本,在那里您可以胡闹,直到您确切地知道如何恢复(不,git
不会丢失任何数据,但解开混乱的混乱可以用几个命令是另一回事…)