2015-05-04 96 views
1

我已经在一个项目上本地工作的地方uncomitted变化,一旦我准备提交我的变化,我做了以下内容:恢复在混帐

git add . 
git add -A 
git commit -m 'commit message here' 
git push 

下一页混帐问我从回购拉了解最新变化。回购目前是空的,在过去的提交中,我删除了所有的文件。

所以当我做了拉它删除了所有的项目文件。

没有想到我做了一个git git重置HEAD @ {1}来撤消拉。我不知道发生了什么,我只想要我的未改变的变化回来。我有这个项目的副本,但不是我未完成的更改。

我做了另外一个git reset [email protected]{1} - 它列出的未提交的文件

当我做git reflog它列出我的承诺是没有去我的远程服务器。是否有可能恢复这些文件?或者让我的回购回到那个状态?

在reflog了,这是我需要回去:12a467c [email protected]{7}: commit: latest version 2015

这可能吗?

回答

2

在reflog了,这是我需要回去:12a467c

好吧,那么:

git checkout 12a467c 

这将会把您在提交。在这一点上,你需要弄清楚如何恢复你的分支。考虑下一步之前,你应该做一个

git checkout -b recovered-lost-branch 

所以不会迷路,而你可以切换到你的分支,并找出下一步该怎么做。

+0

这个工作,完全没有意识到我可以签出过去的提交 – theprestig3

+0

而'下一步做什么'可能是:将您的主分支从回购协议中,然后合并到您的'已恢复丢失分支'分支中,然后推。 –