因为与远端服务器存在冲突,在解决冲突的时候实际上是在(no branch)上做的。
修改了一段时间后,突然忘记了,以为是在某个branch中做的更改,我用git co master,然后用git branch一看,
git branch
* (no branch)
master
git branch
* master
吓一跳,之前的好多修改没有了,只有一个master branch, 好在印象中它提示了no branch等词,在google上搜了一下,发现有人遇到过此类情况
http://serverfault.com/questions/56722/git-seemed-to-be-in-no-branch-and-then-lost-my-changes
其中的git reflog命令在ubuntu下并不会自动补全出来做提示。故在此记录,以备不时之需。
解决方案如上述链接,这里简单重复一下:
git reflog
可以查看一下,到底是哪个对应的版本是自己想要恢复的版本。
然后:
git checkout ca2deraf(just an example)
最好再使用 git checkout -b backup
把其备份出来