我有一个本地git存储库。我想尝试一些改变,所以我分支和测试。然后我不喜欢测试所以我删除了分支。然后我发现我的整个提交都没有了,除了第一个。
以下是我使用的git命令。
git checkout -b testing
在测试分支上编辑了一些文件并进行了多次提交。
git commit -a
然后我不喜欢这些变化,并想放弃这些变化。
git checkout master
git branch -d testing
此时有一个警告说测试分支没有完全合并。 所以我做了
git branch -D testing
然后master
上的所有提交都消失了。
出了什么问题,有可能恢复吗?
答案 0 :(得分:1)
可以通过reflog
恢复它们尝试git reflog
并查找提交并尝试直接检查它们,这样可以让它们恢复。
这是预期的。你删除了你提交的分支,为什么提交不会消失?
您向master
提交了NOTHING,因此master
保持不变。
您可能还需要考虑首先阅读此http://git-scm.com/book,因为您似乎对git
的工作方式感到困惑。
再次总结:没有错。你从未投入掌握,你致力于你的分支。然后Git警告你,你会失去那些提交,因为他们没有被推到任何地方,你忽略了警告。